packages feed

cpsa-4.4.4: tst/dhcr_umx_goals.tst

(herald "DHCR: unified model (UM) with criss-cross key derivation"
  (bound 30) (limit 16000) (goals-sat) (algebra diffie-hellman))

(comment "CPSA 4.4.4")
(comment "All input read from tst/dhcr_umx_goals.scm")
(comment "Step count limited to 16000")
(comment "Strand count bounded at 30")

(defprotocol dhcr-umx diffie-hellman
  (defrole init
    (vars (l x rndx) (beta eta expt) (a b name) (na nb data)
      (priv-stor locn))
    (trace (load priv-stor (pv a l))
      (recv
        (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))))
      (send nb))
    (uniq-orig na)
    (uniq-gen x)
    (absent (x l) (x beta))
    (facts (neq a b))
    (gen-st (pv a l)))
  (defrole resp
    (vars (l y rndx) (alpha chi expt) (a b name) (na nb data)
      (priv-stor locn))
    (trace (load priv-stor (pv b l))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul l chi))))))
      (recv nb) (send "done"))
    (uniq-orig nb)
    (uniq-gen y)
    (absent (y l) (y alpha) (y chi))
    (facts (neq a b))
    (gen-st (pv b l)))
  (defrole ltx-gen
    (vars (self name) (l rndx) (priv-stor locn) (ignore mesg))
    (trace (load priv-stor ignore) (stor priv-stor (pv self l))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    (uniq-orig l))
  (defrole ltx-disclose
    (vars (self name) (l rndx) (priv-stor locn))
    (trace (load priv-stor (pv self l)) (stor priv-stor "nil") (send l))
    (gen-st (pv self l)))
  (defrule undisclosed-not-disclosed
    (forall ((z strd) (l rndx))
      (implies
        (and (fact undisclosed l) (p "ltx-disclose" z (idx 2))
          (p "ltx-disclose" "l" z l))
        (false))))
  (defrule ltx-gen-once-inference
    (forall ((z1 z2 strd) (self name))
      (implies
        (and (fact ltx-gen-once self) (p "ltx-gen" z1 (idx 2))
          (p "ltx-gen" "self" z1 self) (p "ltx-gen" z2 (idx 2))
          (p "ltx-gen" "self" z2 self))
        (= z1 z2))))
  (defrule eq-means-=
    (forall ((v1 v2 mesg)) (implies (fact eq v1 v2) (= v1 v2))))
  (defgenrule neqRl_indx
    (forall ((x indx)) (implies (fact neq x x) (false))))
  (defgenrule neqRl_strd
    (forall ((x strd)) (implies (fact neq x x) (false))))
  (defgenrule neqRl_mesg
    (forall ((x mesg)) (implies (fact neq x x) (false))))
  (defgenrule scissorsRule
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
        (and (= z1 z2) (= i1 i2)))))
  (defgenrule cakeRule
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
  (defgenrule no-interruption
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
        (false))))
  (defgenrule shearsRule
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
          (prec z0 i0 z2 i2))
        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
  (defgenrule invShearsRule
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
  (defgenrule fact-init-neq0
    (forall ((z strd) (b a name))
      (implies
        (and (p "init" z (idx 2)) (p "init" "a" z a) (p "init" "b" z b))
        (fact neq a b))))
  (defgenrule fact-resp-neq0
    (forall ((z strd) (b a name))
      (implies
        (and (p "resp" z (idx 2)) (p "resp" "a" z a) (p "resp" "b" z b))
        (fact neq a b))))
  (defgenrule trRl_ltx-gen-at-1
    (forall ((z strd))
      (implies (p "ltx-gen" z (idx 2)) (trans z (idx 1)))))
  (defgenrule trRl_ltx-gen-at-0
    (forall ((z strd))
      (implies (p "ltx-gen" z (idx 2)) (trans z (idx 0)))))
  (defgenrule trRl_ltx-disclose-at-1
    (forall ((z strd))
      (implies (p "ltx-disclose" z (idx 2)) (trans z (idx 1)))))
  (defgenrule trRl_ltx-disclose-at-0
    (forall ((z strd))
      (implies (p "ltx-disclose" z (idx 2)) (trans z (idx 0)))))
  (defgenrule gen-st-init-0
    (forall ((z strd) (a name) (l rndx))
      (implies
        (and (p "init" z (idx 1)) (p "init" "l" z l) (p "init" "a" z a))
        (gen-st (pv a l)))))
  (defgenrule gen-st-resp-0
    (forall ((z strd) (b name) (l rndx))
      (implies
        (and (p "resp" z (idx 1)) (p "resp" "l" z l) (p "resp" "b" z b))
        (gen-st (pv b l)))))
  (defgenrule gen-st-ltx-disclose-0
    (forall ((z strd) (self name) (l rndx))
      (implies
        (and (p "ltx-disclose" z (idx 1)) (p "ltx-disclose" "l" z l)
          (p "ltx-disclose" "self" z self)) (gen-st (pv self l)))))
  (lang (sig sign) (body (tuple 3)) (pv (tuple 2))))

(defskeleton dhcr-umx
  (vars (na nb data) (a b name) (pt pval) (priv-stor locn)
    (l l-peer x rndx) (eta expt))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-peer) (eta eta))
  (non-orig (privk "sig" b))
  (uniq-orig na)
  (uniq-gen x)
  (absent (x l) (x l-peer))
  (facts (neq a b) (undisclosed l-peer))
  (goals
    (forall
      ((na nb data) (a b name) (l l-peer x rndx) (eta expt) (z strd))
      (implies
        (and (p "init" z 4) (p "init" "na" z na) (p "init" "nb" z nb)
          (p "init" "a" z a) (p "init" "b" z b) (p "init" "l" z l)
          (p "init" "x" z x) (p "init" "beta" z l-peer)
          (p "init" "eta" z eta) (non (privk "sig" b)) (ugen x)
          (uniq-at na z 2) (fact neq a b) (fact undisclosed l-peer))
        (exists ((z-1 strd) (y rndx) (w expt))
          (and (p "resp" z-1 4) (p "resp" "na" z-1 na)
            (p "resp" "nb" z-1 nb) (p "resp" "a" z-1 a)
            (p "resp" "b" z-1 b) (prec z 2 z-1 2))))))
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-peer) (pubk "sig" b))
          (privk "sig" b))) (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul l eta))
              (exp (gen) (mul l-peer x))))))))
  (label 0)
  (unrealized (0 1))
  (origs (na (0 2)))
  (ugens (x (0 2)))
  (comment "Not closed under rules"))

(defskeleton dhcr-umx
  (vars (na nb data) (a b name) (pt pval) (priv-stor locn)
    (l l-peer x rndx) (eta expt))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-peer) (eta eta))
  (non-orig (privk "sig" b))
  (uniq-orig na)
  (uniq-gen x)
  (absent (x l) (x l-peer))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-peer))
  (rule fact-resp-neq0 gen-st-ltx-disclose-0)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-peer) (pubk "sig" b))
          (privk "sig" b))) (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul l eta))
              (exp (gen) (mul l-peer x))))))))
  (label 1)
  (parent 0)
  (unrealized (0 0) (0 1))
  (origs (na (0 2)))
  (ugens (x (0 2)))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore mesg) (na nb data) (a b name) (pt pt-0 pval)
    (priv-stor locn) (l-peer x rndx) (eta expt) (l rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-peer) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (precedes ((1 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l)
  (uniq-gen x)
  (absent (x l-peer) (x l))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-peer))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor (cat pt (pv a l))) (0 0))
  (strand-map 0)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-peer) (pubk "sig" b))
          (privk "sig" b))) (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l))
              (exp (gen) (mul l-peer x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l)))))
  (label 2)
  (parent 1)
  (unrealized (0 1) (0 3))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (eta expt) (l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 1) (0 0)) ((2 2) (0 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test (added-strand ltx-gen 3)
    (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)) (0 1))
  (strand-map 0 1)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))))
  (label 3)
  (parent 2)
  (unrealized (0 3))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (precedes ((0 2) (3 2)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 3) (0 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 gen-st-ltx-disclose-0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation encryption-test (added-strand resp 4)
    (enc na nb a b
      (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))) (0 3))
  (strand-map 0 1 2)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha))
              (exp (gen) (mul x l-0))))))))
  (label 4)
  (parent 3)
  (unrealized (0 3) (3 0) (3 2))
  (fringe)
  (satisfies-all)
  (maps
    ((0)
      ((na na) (nb nb) (a a) (b b) (l l) (l-peer l-0) (x x)
        (eta (mul (rec l) y alpha)) (priv-stor priv-stor))))
  (origs (nb (3 3)) (l-0 (2 1)) (pt-2 (2 1)) (l (1 1)) (pt (1 1))
    (na (0 2)))
  (ugens (y (3 3)) (x (0 2)))
  (comment "satisfies all"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (eta expt) (l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (precedes ((0 2) (3 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
    (enc na nb a b
      (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))) (0 3))
  (strand-map 0 1 2)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))))
  (label 5)
  (parent 3)
  (unrealized (3 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (eta expt) (l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
    (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))) (3 0))
  (strand-map 0 1 2 3)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))))
  (label 6)
  (parent 5)
  (unrealized (4 0))
  (comment "8 in cohort - 8 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)
    (alpha chi expt) (l-1 y rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul (rec l-1) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 3) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l-0) (y alpha) (y chi))
  (gen-st (pv a l-1) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) y))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul l-0 chi))))))))
  (label 7)
  (parent 6)
  (unrealized (0 3) (4 0) (5 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)
    (l-1 x-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul (rec l-1) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 2) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-1) (x-0 l-0) (x-0 beta))
  (gen-st (pv a l-1) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-0) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))
  (label 8)
  (parent 6)
  (unrealized (0 3) (4 0) (5 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (rec l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (deflistener (cat (gen) (exp (gen) (mul x l))))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (contracted (eta (rec l-0)) (l-1 l-0)) (gen)
    (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (rec l-0))
          (enc na nb a b (hash (gen) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((recv (cat (gen) (exp (gen) (mul x l))))
      (send (cat (gen) (exp (gen) (mul x l))))))
  (label 9)
  (parent 6)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 5 0 init 3) (exp (gen) x-0) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x))
          (enc na nb a b
            (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) x) (exp (gen) (mul l-0 x))))))
  (label 10)
  (parent 6)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 5 2 ltx-gen 3) (exp (gen) l-1) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) l-0))
          (enc na nb a b
            (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))))
  (label 11)
  (parent 6)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((0 2) (3 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))
    ((4 1) (0 0)) ((4 2) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((4 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 1 5 ltx-gen 3) (exp (gen) l-1) (4 0))
  (strand-map 0 4 1 2 3)
  (traces
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (gen)
          (enc na nb self b
            (hash (exp (gen) l-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 12)
  (parent 6)
  (unrealized (3 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 2) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) l-1))
          (enc na nb a b
            (hash (exp (gen) l-1) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 13)
  (parent 6)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (eta expt) (l l-0 rndx) (w expt))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul eta l (rec w))) w))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul eta l (rec w))) w))
    (exp (gen) (mul eta l)) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul eta l (rec w))) w))
      (send (cat (exp (gen) (mul eta l (rec w))) w))))
  (label 14)
  (parent 6)
  (unrealized (4 0) (5 0))
  (comment "7 in cohort - 7 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 6 1 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0))))))))
  (label 15)
  (parent 7)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 6 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb a b
            (hash (exp (gen) y) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0))))))))
  (label 16)
  (parent 7)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 y l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((6 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) y))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 17)
  (parent 7)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 6 1 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 18)
  (parent 8)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 6 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 19)
  (parent 8)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((6 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 20)
  (parent 8)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (rec l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (deflistener (cat (gen) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (rec l-0))
          (enc na nb a b (hash (gen) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((recv (cat (gen) (exp (gen) (mul x l))))
      (send (cat (gen) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 21)
  (parent 9)
  (unrealized (0 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (rec l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (deflistener (cat (gen) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (rec l-0))
          (enc na nb a b (hash (gen) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((recv (cat (gen) (exp (gen) (mul x l))))
      (send (cat (gen) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 22)
  (parent 9)
  (unrealized (0 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul l-0 x)) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x))
          (enc na nb a b
            (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 23)
  (parent 10)
  (unrealized (0 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul l-0 x)) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x))
          (enc na nb a b
            (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 24)
  (parent 10)
  (unrealized (0 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) l-0))
          (enc na nb a b
            (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 25)
  (parent 11)
  (unrealized (0 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) l-0))
          (enc na nb a b
            (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 26)
  (parent 11)
  (unrealized (0 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (5 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))
    ((4 1) (0 0)) ((4 2) (3 0)) ((5 1) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((4 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (3 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (gen)
          (enc na nb self b
            (hash (exp (gen) l-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 27)
  (parent 12)
  (unrealized (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (5 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))
    ((4 1) (0 0)) ((4 2) (3 0)) ((5 1) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((4 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (3 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (gen)
          (enc na nb self b
            (hash (exp (gen) l-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 28)
  (parent 12)
  (unrealized (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) l-1))
          (enc na nb a b
            (hash (exp (gen) l-1) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 29)
  (parent 13)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) l-1))
          (enc na nb a b
            (hash (exp (gen) l-1) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 30)
  (parent 13)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)
    (l-1 rndx) (w expt) (x-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul (rec l-1) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-1) (x-0 l-0) (x-0 beta))
  (precur (5 0))
  (gen-st (pv a l-1) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))
  (label 31)
  (parent 14)
  (unrealized (0 3) (4 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)
    (l l-0 x rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) w))
  (precedes ((0 2) (5 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 0 init 3) (exp (gen) x-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w (rec l) x))
          (enc na nb a b
            (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
  (label 32)
  (parent 14)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)
    (w expt))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (gen) w))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (eta (mul (rec l-0) w)) (l-1 l-0) (w-0 w)) (gen) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w))
          (enc na nb a b (hash (exp (gen) w) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) w) (exp (gen) (mul x l))))
      (send (cat (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (gen) w)) (send (cat (gen) w))))
  (label 33)
  (parent 14)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((0 2) (3 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))
    ((4 1) (3 0)) ((5 1) (0 0)) ((5 2) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (4 0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((5 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 1 6 ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 5 1 2 3 4)
  (traces
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) w)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 34)
  (parent 14)
  (unrealized (3 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)
    (alpha chi expt) (l-1 rndx) (w expt) (y rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul (rec l-1) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l-0) (y alpha) (y chi))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul l-0 chi))))))))
  (label 35)
  (parent 14)
  (unrealized (0 3) (4 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) w))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((2 2) (5 0))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 2 ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w l-0))
          (enc na nb a b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w))))
  (label 36)
  (parent 14)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)
    (l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) w))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w l-1))
          (enc na nb a b
            (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 37)
  (parent 14)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 38)
  (parent 15)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 39)
  (parent 15)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb a b
            (hash (exp (gen) y) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 40)
  (parent 16)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb a b
            (hash (exp (gen) y) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 41)
  (parent 16)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 y l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((6 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) y))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 42)
  (parent 17)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 y l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 3) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((6 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) y))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 43)
  (parent 17)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 44)
  (parent 18)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((1 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 45)
  (parent 18)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 46)
  (parent 19)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 1) (5 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 47)
  (parent 19)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((6 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 48)
  (parent 20)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 2) (4 0)) ((6 1) (5 0)) ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((6 1) (5 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 49)
  (parent 20)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta w expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 1 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 50)
  (parent 31)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 51)
  (parent 31)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 52)
  (parent 31)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)
    (l l-0 x rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) w))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((0 2) (5 0)) ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul l-0 x)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w (rec l) x))
          (enc na nb a b
            (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 53)
  (parent 32)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)
    (l l-0 x rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) w))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((0 2) (5 0)) ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul l-0 x)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w (rec l) x))
          (enc na nb a b
            (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 54)
  (parent 32)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)
    (w expt))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (gen) w))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w))
          (enc na nb a b (hash (exp (gen) w) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) w) (exp (gen) (mul x l))))
      (send (cat (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (gen) w)) (send (cat (gen) w)))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 55)
  (parent 33)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)
    (w expt))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (gen) w))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w))
          (enc na nb a b (hash (exp (gen) w) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) w) (exp (gen) (mul x l))))
      (send (cat (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (gen) w)) (send (cat (gen) w)))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 56)
  (parent 33)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (6 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))
    ((4 1) (3 0)) ((5 1) (0 0)) ((5 2) (4 0)) ((6 1) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (4 0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((5 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (3 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) w)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 57)
  (parent 34)
  (unrealized (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (6 0)) ((1 2) (0 1)) ((2 1) (0 3)) ((3 1) (2 0))
    ((4 1) (3 0)) ((5 1) (0 0)) ((5 2) (4 0)) ((6 1) (3 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (4 0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((5 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (3 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) w)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 58)
  (parent 34)
  (unrealized (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi w expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 1 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0))))))))
  (label 59)
  (parent 35)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0))))))))
  (label 60)
  (parent 35)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 rndx) (w expt) (y l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((0 2) (4 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)) ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 61)
  (parent 35)
  (unrealized (0 3) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) w))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((2 2) (5 0))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w l-0))
          (enc na nb a b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 62)
  (parent 36)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) w))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((0 2) (6 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((2 2) (5 0))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w l-0))
          (enc na nb a b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 63)
  (parent 36)
  (unrealized (0 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)
    (l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) w))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w l-1))
          (enc na nb a b
            (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 64)
  (parent 37)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)
    (l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) w))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w l-1))
          (enc na nb a b
            (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 65)
  (parent 37)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta w expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 66)
  (parent 50)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta w expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 67)
  (parent 50)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 68)
  (parent 51)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 69)
  (parent 51)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (8 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (6 0))
    ((8 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 70)
  (parent 52)
  (unrealized (0 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (8 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (6 0))
    ((8 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 71)
  (parent 52)
  (unrealized (0 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi w expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 72)
  (parent 59)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi w expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((1 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((1 1) (0 0)) ((1 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 73)
  (parent 59)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 74)
  (parent 60)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((0 2) (7 0)) ((1 1) (0 0)) ((2 1) (6 0)) ((2 2) (0 1))
    ((3 1) (0 3)) ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((1 1) (0 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 75)
  (parent 60)
  (unrealized (0 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 rndx) (w expt) (y l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((0 2) (8 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)) ((7 1) (6 0))
    ((8 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 76)
  (parent 61)
  (unrealized (0 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 rndx) (w expt) (y l-1 rndx))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((0 2) (8 0)) ((1 1) (0 0)) ((2 2) (0 1)) ((3 1) (0 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 3) (5 0)) ((7 1) (6 0))
    ((8 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((1 1) (0 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 77)
  (parent 61)
  (unrealized (0 3) (8 0))
  (dead)
  (comment "empty cohort"))

(comment "Nothing left to do")

(defprotocol dhcr-umx diffie-hellman
  (defrole init
    (vars (l x rndx) (beta eta expt) (a b name) (na nb data)
      (priv-stor locn))
    (trace (load priv-stor (pv a l))
      (recv
        (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))))
      (send nb))
    (uniq-orig na)
    (uniq-gen x)
    (absent (x l) (x beta))
    (facts (neq a b))
    (gen-st (pv a l)))
  (defrole resp
    (vars (l y rndx) (alpha chi expt) (a b name) (na nb data)
      (priv-stor locn))
    (trace (load priv-stor (pv b l))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul l chi))))))
      (recv nb) (send "done"))
    (uniq-orig nb)
    (uniq-gen y)
    (absent (y l) (y alpha) (y chi))
    (facts (neq a b))
    (gen-st (pv b l)))
  (defrole ltx-gen
    (vars (self name) (l rndx) (priv-stor locn) (ignore mesg))
    (trace (load priv-stor ignore) (stor priv-stor (pv self l))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    (uniq-orig l))
  (defrole ltx-disclose
    (vars (self name) (l rndx) (priv-stor locn))
    (trace (load priv-stor (pv self l)) (stor priv-stor "nil") (send l))
    (gen-st (pv self l)))
  (defrule undisclosed-not-disclosed
    (forall ((z strd) (l rndx))
      (implies
        (and (fact undisclosed l) (p "ltx-disclose" z (idx 2))
          (p "ltx-disclose" "l" z l))
        (false))))
  (defrule ltx-gen-once-inference
    (forall ((z1 z2 strd) (self name))
      (implies
        (and (fact ltx-gen-once self) (p "ltx-gen" z1 (idx 2))
          (p "ltx-gen" "self" z1 self) (p "ltx-gen" z2 (idx 2))
          (p "ltx-gen" "self" z2 self))
        (= z1 z2))))
  (defrule eq-means-=
    (forall ((v1 v2 mesg)) (implies (fact eq v1 v2) (= v1 v2))))
  (defgenrule neqRl_indx
    (forall ((x indx)) (implies (fact neq x x) (false))))
  (defgenrule neqRl_strd
    (forall ((x strd)) (implies (fact neq x x) (false))))
  (defgenrule neqRl_mesg
    (forall ((x mesg)) (implies (fact neq x x) (false))))
  (defgenrule scissorsRule
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
          (leads-to z0 i0 z1 i1) (leads-to z0 i0 z2 i2))
        (and (= z1 z2) (= i1 i2)))))
  (defgenrule cakeRule
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (trans z0 i0) (trans z1 i1) (leads-to z0 i0 z1 i1)
          (leads-to z0 i0 z2 i2) (prec z1 i1 z2 i2)) (false))))
  (defgenrule no-interruption
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (leads-to z0 i0 z2 i2) (trans z1 i1)
          (same-locn z0 i0 z1 i1) (prec z0 i0 z1 i1) (prec z1 i1 z2 i2))
        (false))))
  (defgenrule shearsRule
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (trans z0 i0) (trans z1 i1) (trans z2 i2)
          (leads-to z0 i0 z1 i1) (same-locn z0 i0 z2 i2)
          (prec z0 i0 z2 i2))
        (or (and (= z1 z2) (= i1 i2)) (prec z1 i1 z2 i2)))))
  (defgenrule invShearsRule
    (forall ((z0 z1 z2 strd) (i0 i1 i2 indx))
      (implies
        (and (trans z0 i0) (trans z1 i1) (same-locn z0 i0 z1 i1)
          (leads-to z1 i1 z2 i2) (prec z0 i0 z2 i2))
        (or (and (= z0 z1) (= i0 i1)) (prec z0 i0 z1 i1)))))
  (defgenrule fact-init-neq0
    (forall ((z strd) (b a name))
      (implies
        (and (p "init" z (idx 2)) (p "init" "a" z a) (p "init" "b" z b))
        (fact neq a b))))
  (defgenrule fact-resp-neq0
    (forall ((z strd) (b a name))
      (implies
        (and (p "resp" z (idx 2)) (p "resp" "a" z a) (p "resp" "b" z b))
        (fact neq a b))))
  (defgenrule trRl_ltx-gen-at-1
    (forall ((z strd))
      (implies (p "ltx-gen" z (idx 2)) (trans z (idx 1)))))
  (defgenrule trRl_ltx-gen-at-0
    (forall ((z strd))
      (implies (p "ltx-gen" z (idx 2)) (trans z (idx 0)))))
  (defgenrule trRl_ltx-disclose-at-1
    (forall ((z strd))
      (implies (p "ltx-disclose" z (idx 2)) (trans z (idx 1)))))
  (defgenrule trRl_ltx-disclose-at-0
    (forall ((z strd))
      (implies (p "ltx-disclose" z (idx 2)) (trans z (idx 0)))))
  (defgenrule gen-st-init-0
    (forall ((z strd) (a name) (l rndx))
      (implies
        (and (p "init" z (idx 1)) (p "init" "l" z l) (p "init" "a" z a))
        (gen-st (pv a l)))))
  (defgenrule gen-st-resp-0
    (forall ((z strd) (b name) (l rndx))
      (implies
        (and (p "resp" z (idx 1)) (p "resp" "l" z l) (p "resp" "b" z b))
        (gen-st (pv b l)))))
  (defgenrule gen-st-ltx-disclose-0
    (forall ((z strd) (self name) (l rndx))
      (implies
        (and (p "ltx-disclose" z (idx 1)) (p "ltx-disclose" "l" z l)
          (p "ltx-disclose" "self" z self)) (gen-st (pv self l)))))
  (lang (sig sign) (body (tuple 3)) (pv (tuple 2))))

(defskeleton dhcr-umx
  (vars (na nb data) (a b name) (pt pval) (priv-stor locn) (l x rndx)
    (eta beta expt))
  (deflistener (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta beta) (eta eta))
  (non-orig (privk "sig" b))
  (uniq-orig na)
  (uniq-gen x)
  (absent (x l) (x beta))
  (facts (neq a b) (undisclosed beta))
  (goals
    (forall
      ((z zl strd) (na nb data) (a b name) (l x rndx) (eta beta expt))
      (implies
        (and (p "init" z 4) (p "init" "na" z na) (p "init" "nb" z nb)
          (p "init" "a" z a) (p "init" "b" z b) (p "init" "l" z l)
          (p "init" "x" z x) (p "init" "beta" z beta)
          (p "init" "eta" z eta) (non (privk "sig" b)) (ugen x)
          (uniq-at na z 2) (fact neq a b) (fact undisclosed beta)
          (p "" zl 2)
          (p "" "x" zl
            (hash (exp (exp (gen) eta) l) (exp (exp (gen) beta) x))))
        (false))))
  (traces
    ((recv (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))
      (send (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))))))
  (label 78)
  (unrealized (0 0) (1 1))
  (preskeleton)
  (origs (na (1 2)))
  (ugens (x (1 2)))
  (comment "Not a skeleton"))

(defskeleton dhcr-umx
  (vars (na nb data) (a b name) (pt pval) (priv-stor locn) (l x rndx)
    (eta beta expt))
  (deflistener (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta beta) (eta eta))
  (precedes ((1 2) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na)
  (uniq-gen x)
  (absent (x l) (x beta))
  (facts (neq a b) (undisclosed beta))
  (traces
    ((recv (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))
      (send (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))))))
  (label 79)
  (parent 78)
  (unrealized (1 1))
  (origs (na (1 2)))
  (ugens (x (1 2)))
  (comment "Not closed under rules"))

(defskeleton dhcr-umx
  (vars (na nb data) (a b name) (pt pval) (priv-stor locn) (l x rndx)
    (eta beta expt))
  (deflistener (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta beta) (eta eta))
  (precedes ((1 2) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na)
  (uniq-gen x)
  (absent (x l) (x beta))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed beta))
  (rule fact-resp-neq0 gen-st-ltx-disclose-0)
  (traces
    ((recv (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))
      (send (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul l eta)) (exp (gen) (mul x beta))))))))
  (label 80)
  (parent 79)
  (unrealized (1 0) (1 1))
  (origs (na (1 2)))
  (ugens (x (1 2)))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore mesg) (na nb data) (a b name) (pt pt-0 pval)
    (priv-stor locn) (x rndx) (eta beta expt) (l rndx))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x beta))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta beta) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (precedes ((1 2) (0 0)) ((2 1) (1 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l)
  (uniq-gen x)
  (absent (x beta) (x l))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed beta))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor (cat pt (pv a l))) (1 0))
  (strand-map 0 1)
  (traces
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x beta))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x beta)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) beta) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x beta)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l)))))
  (label 81)
  (parent 80)
  (unrealized (0 0) (1 1) (1 3))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (eta expt) (l l-0 rndx))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (0 0)) ((2 1) (1 0)) ((3 2) (1 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test (added-strand ltx-gen 3)
    (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)) (1 1))
  (strand-map 0 1 2)
  (traces
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))))
  (label 82)
  (parent 81)
  (unrealized (0 0) (1 3))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))
    ((4 3) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 gen-st-ltx-disclose-0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation encryption-test (added-strand resp 4)
    (enc na nb a b
      (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))) (1 3))
  (strand-map 0 1 2 3)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha))
              (exp (gen) (mul x l-0))))))))
  (label 83)
  (parent 82)
  (unrealized (0 0) (1 3) (4 0) (4 2))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (eta expt) (l l-0 rndx))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (precedes ((1 2) (0 0)) ((1 2) (4 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
    (enc na nb a b
      (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))) (1 3))
  (strand-map 0 1 2 3)
  (traces
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))))
  (label 84)
  (parent 82)
  (unrealized (0 0) (4 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l y rndx)
    (alpha expt) (x l-0 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha alpha) (chi x))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x)
  (absent (y alpha) (y x) (y l-0) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation channel-test (displaced 5 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha))
              (exp (gen) (mul x l-0))))))))
  (label 85)
  (parent 83)
  (unrealized (0 0) (1 3))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))
    ((4 3) (1 3)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((5 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b l-1)))))
  (label 86)
  (parent 83)
  (unrealized (0 0) (1 3) (4 2))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (eta expt) (l l-0 rndx))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
    (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))) (4 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))))
  (label 87)
  (parent 84)
  (unrealized (0 0) (5 0))
  (comment "8 in cohort - 8 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x y rndx))
  (deflistener (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y l-0) (y x))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 5 4 resp 4) (exp (gen) y-0) (1 3))
  (strand-map 0 1 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x))))))))
  (label 88)
  (parent 85)
  (unrealized (0 0) (4 1))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l y rndx)
    (alpha expt) (x l-0 rndx) (w expt))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha alpha) (chi x))
  (deflistener (cat (exp (gen) (mul (rec l) y alpha (rec w))) w))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x)
  (absent (y alpha) (y x) (y l-0) (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul (rec l) y alpha (rec w))) w))
    (exp (gen) (mul (rec l) y alpha)) (1 3))
  (strand-map 0 1 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) (mul (rec l) y alpha (rec w))) w))
      (send (cat (exp (gen) (mul (rec l) y alpha (rec w))) w))))
  (label 89)
  (parent 85)
  (unrealized (0 0) (5 0))
  (comment "8 in cohort - 8 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul x l-0)) l-1))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))
    ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (6 0)) ((6 1) (4 2)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((5 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul x l-0)) l-1))
    (exp (gen) (mul x l-0 (rec l-1))) (4 2))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b l-1))))
    ((recv (cat (exp (gen) (mul x l-0)) l-1))
      (send (cat (exp (gen) (mul x l-0)) l-1))))
  (label 90)
  (parent 86)
  (unrealized (1 3) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul x (rec l-1))) l-0))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))
    ((4 3) (1 3)) ((5 1) (4 0)) ((6 1) (4 2)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((5 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul x (rec l-1))) l-0))
    (exp (gen) (mul x l-0 (rec l-1))) (4 2))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b l-1))))
    ((recv (cat (exp (gen) (mul x (rec l-1))) l-0))
      (send (cat (exp (gen) (mul x (rec l-1))) l-0))))
  (label 91)
  (parent 86)
  (unrealized (1 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul l-0 (rec l-1))) x))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))
    ((4 3) (1 3)) ((5 1) (4 0)) ((6 1) (4 2)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((5 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul l-0 (rec l-1))) x))
    (exp (gen) (mul x l-0 (rec l-1))) (4 2))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b l-1))))
    ((recv (cat (exp (gen) (mul l-0 (rec l-1))) x))
      (send (cat (exp (gen) (mul l-0 (rec l-1))) x))))
  (label 92)
  (parent 86)
  (unrealized (1 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)
    (alpha chi expt) (l-1 y rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul (rec l-1) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0)) ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l-0) (y alpha) (y chi))
  (gen-st (pv a l-1) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) y))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul l-0 chi))))))))
  (label 93)
  (parent 87)
  (unrealized (0 0) (1 3) (5 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)
    (l-1 x-0 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul (rec l-1) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-1) (x-0 l-0) (x-0 beta))
  (gen-st (pv a l-1) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))
  (label 94)
  (parent 87)
  (unrealized (0 0) (1 3) (5 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (rec l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (deflistener (cat (gen) (exp (gen) (mul x l))))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (contracted (eta (rec l-0)) (l-1 l-0)) (gen)
    (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (rec l-0))
          (enc na nb a b (hash (gen) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((recv (cat (gen) (exp (gen) (mul x l))))
      (send (cat (gen) (exp (gen) (mul x l))))))
  (label 95)
  (parent 87)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x rndx))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 1 init 3) (exp (gen) x-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x))
          (enc na nb a b
            (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) x) (exp (gen) (mul l-0 x))))))
  (label 96)
  (parent 87)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 3 ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) l-0))
          (enc na nb a b
            (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))))
  (label 97)
  (parent 87)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (0 0)) ((1 2) (4 0)) ((2 2) (1 1)) ((3 1) (1 3))
    ((4 1) (3 0)) ((5 1) (1 0)) ((5 2) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 2 6 ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 1 5 2 3 4)
  (traces
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (gen)
          (enc na nb self b
            (hash (exp (gen) l-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 98)
  (parent 87)
  (unrealized (0 0) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) l-1))
          (enc na nb a b
            (hash (exp (gen) l-1) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 99)
  (parent 87)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (eta expt) (l l-0 rndx) (w expt))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta eta))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul eta l (rec w))) w))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul eta l (rec w))) w))
    (exp (gen) (mul eta l)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) eta)
          (enc na nb a b
            (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul eta l)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul eta l (rec w))) w))
      (send (cat (exp (gen) (mul eta l (rec w))) w))))
  (label 100)
  (parent 87)
  (unrealized (0 0) (5 0) (6 0))
  (comment "7 in cohort - 7 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (0 0))
    ((3 3) (1 3)) ((4 1) (1 0)) ((4 2) (3 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((4 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 2 5 ltx-gen 3) (exp (gen) l-0) (4 1))
  (strand-map 0 1 4 2 3)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 101)
  (parent 88)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x y rndx) (w expt))
  (deflistener (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) (mul l-0 (rec w))) w))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y l-0) (y x))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul l-0 (rec w))) w))
    (exp (gen) l-0) (4 1))
  (strand-map 0 1 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) (mul l-0 (rec w))) w))
      (send (cat (exp (gen) (mul l-0 (rec w))) w))))
  (label 102)
  (parent 88)
  (unrealized (0 0) (5 0))
  (comment "7 in cohort - 7 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l l-0 rndx)
    (w expt) (x y rndx))
  (deflistener (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 w)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y (mul l-0 w)) (y x))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 4 resp 4) (exp (gen) y-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y))
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 w)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
  (label 103)
  (parent 89)
  (unrealized (0 0) (4 1))
  (comment "8 in cohort - 8 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)
    (l-1 rndx) (w expt) (x-0 l-2 y x-1 rndx))
  (deflistener
    (hash (exp (gen) (mul l-1 w x-0 y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul l-1 w x-0 (rec l-2) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-1 w x-0)) (chi x))
  (deflistener
    (cat (exp (gen) x-1) (mul l-1 w x-0 (rec l-2) y (rec x-1))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-2)
  (uniq-gen x y x-1)
  (absent (x l) (x l-2) (y x) (y l) (y (mul l-1 w x-0)) (x-1 l-0)
    (x-1 beta))
  (precur (5 0))
  (gen-st (pv a l-2) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul l-1 w x-0 y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul l-1 w x-0 y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l-1 w x-0 (rec l-2) y))
          (enc na nb a b
            (hash (exp (gen) (mul l-1 w x-0 y))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-1 w x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-1 w x-0 y))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) x-1) (mul l-1 w x-0 (rec l-2) y (rec x-1))))
      (send
        (cat (exp (gen) x-1) (mul l-1 w x-0 (rec l-2) y (rec x-1)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 a-0 b-0 (exp (gen) x-1)))))
  (label 104)
  (parent 89)
  (unrealized (0 0) (1 3) (5 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)
    (w expt) (l-1 y rndx))
  (deflistener (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul l-0 w (rec l-1) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 w)) (chi x))
  (deflistener (cat (gen) (mul l-0 w (rec l-1) y)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y x) (y l) (y (mul l-0 w)))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (l-2 l-1) (y-0 y) (alpha (mul l-0 w))
      (w-0 (mul l-0 w (rec l-1) y)) (l-0 l-1) (y-1 y)
      (w (mul l-0 w (rec l-1) y))) (gen) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l-0 w (rec l-1) y))
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 w)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul x l)))))))
    ((recv (cat (gen) (mul l-0 w (rec l-1) y)))
      (send (cat (gen) (mul l-0 w (rec l-1) y)))))
  (label 105)
  (parent 89)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)
    (l l-0 x y l-1 x-0 rndx))
  (deflistener
    (hash (exp (gen) (mul w l x y)) (exp (gen) (mul l-0 x-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x-0) (beta l-0) (eta (mul w l x y (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul w l x)) (chi x-0))
  (deflistener (cat (exp (gen) x-0) (mul w l x y (rec l-1) (rec x-0))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-0 l-1)
  (uniq-gen y x-0)
  (absent (y (mul w l x)) (y l-0) (y x-0) (x-0 l-0) (x-0 l-1))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 1 init 3) (exp (gen) x-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul w l x y)) (exp (gen) (mul l-0 x-0))))
      (send (hash (exp (gen) (mul w l x y)) (exp (gen) (mul l-0 x-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x-0)))
      (recv
        (cat (exp (gen) (mul w l x y (rec l-1)))
          (enc na nb a b
            (hash (exp (gen) (mul w l x y))
              (exp (gen) (mul l-0 x-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul w l x)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x-0)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul w l x y))
              (exp (gen) (mul l-0 x-0)))))))
    ((recv (cat (exp (gen) x-0) (mul w l x y (rec l-1) (rec x-0))))
      (send (cat (exp (gen) x-0) (mul w l x y (rec l-1) (rec x-0))))))
  (label 106)
  (parent 89)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 y l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul w l-0 l-0 y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-1) (x x) (beta l)
    (eta (mul w l-0 l-0 y (rec l-1))))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w l-0 l-0)) (chi x))
  (deflistener
    (cat (exp (gen) l-1) (mul w l-0 l-0 y (rec l-1) (rec l-1))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-1))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (0 0))
    ((3 3) (4 0)) ((4 1) (1 3)) ((5 1) (1 0)) ((5 2) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y x) (y l) (y (mul w l-0 l-0)))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-1))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 2 6 ltx-gen 3) (exp (gen) l-2) (5 0))
  (strand-map 0 1 5 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul w l-0 l-0 y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0 l-0 y)) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w l-0 l-0 y (rec l-1)))
          (enc na nb self b
            (hash (exp (gen) (mul w l-0 l-0 y))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w l-0 l-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0 l-0 y))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) l-1) (mul w l-0 l-0 y (rec l-1) (rec l-1))))
      (send
        (cat (exp (gen) l-1) (mul w l-0 l-0 y (rec l-1) (rec l-1)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 107)
  (parent 89)
  (unrealized (0 0) (1 3) (4 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)
    (alpha chi expt) (l-1 rndx) (w expt) (y l-2 y-0 y-1 rndx))
  (deflistener
    (hash (exp (gen) (mul l-1 w y y-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul l-1 w y (rec l-2) y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y-0) (alpha (mul l-1 w y)) (chi x))
  (deflistener
    (cat (exp (gen) y-1) (mul l-1 w y (rec l-2) y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-2)
  (uniq-gen x y-0 y-1)
  (absent (x l) (x l-2) (y-0 x) (y-0 l) (y-0 (mul l-1 w y)) (y-1 l-0)
    (y-1 alpha) (y-1 chi))
  (precur (5 0))
  (gen-st (pv a l-2) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul l-1 w y y-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul l-1 w y y-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l-1 w y (rec l-2) y-0))
          (enc na nb a b
            (hash (exp (gen) (mul l-1 w y y-0))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-1 w y)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y-0)
          (enc na nb a b
            (hash (exp (gen) (mul l-1 w y y-0))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y-1) (mul l-1 w y (rec l-2) y-0 (rec y-1))))
      (send
        (cat (exp (gen) y-1) (mul l-1 w y (rec l-2) y-0 (rec y-1)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul l-0 chi))))))))
  (label 108)
  (parent 89)
  (unrealized (0 0) (1 3) (5 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 l-1 y l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul l w l-0 y)) (exp (gen) (mul x l-2))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-2) (eta (mul l w l-0 (rec l-1) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-2))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-2) (y y) (alpha (mul l w l-0)) (chi x))
  (deflistener
    (cat (exp (gen) l-2) (mul l w l-0 (rec l-1) y (rec l-2))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-1 l-2)
  (uniq-gen x y)
  (absent (x l-1) (x l-2) (y x) (y (mul l w l-0)) (y l-2))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l-2))
  (facts (neq b a) (neq a b) (undisclosed l-2))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 3 ltx-gen 3) (exp (gen) l-3) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul l w l-0 y)) (exp (gen) (mul x l-2))))
      (send (hash (exp (gen) (mul l w l-0 y)) (exp (gen) (mul x l-2)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l w l-0 (rec l-1) y))
          (enc na nb a b
            (hash (exp (gen) (mul l w l-0 y))
              (exp (gen) (mul x l-2)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-2)))
      (send
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-2)))
      (recv
        (sig (body a (exp (gen) (mul l w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l w l-0 y))
              (exp (gen) (mul x l-2)))))))
    ((recv (cat (exp (gen) l-2) (mul l w l-0 (rec l-1) y (rec l-2))))
      (send (cat (exp (gen) l-2) (mul l w l-0 (rec l-1) y (rec l-2))))))
  (label 109)
  (parent 89)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)
    (l-1 l-2 y l-3 rndx))
  (deflistener
    (hash (exp (gen) (mul l-0 w l-1 y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul l-0 w l-1 (rec l-2) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 w l-1)) (chi x))
  (deflistener
    (cat (exp (gen) l-3) (mul l-0 w l-1 (rec l-2) y (rec l-3))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-3))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-2 l-3)
  (uniq-gen x y)
  (absent (x l) (x l-2) (y x) (y l) (y (mul l-0 w l-1)))
  (precur (5 0))
  (gen-st (pv a l-2) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-3) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul l-0 w l-1 y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul l-0 w l-1 y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l-0 w l-1 (rec l-2) y))
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w l-1 y))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 w l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w l-1 y))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) l-3) (mul l-0 w l-1 (rec l-2) y (rec l-3))))
      (send
        (cat (exp (gen) l-3) (mul l-0 w l-1 (rec l-2) y (rec l-3)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-3)))
      (send
        (sig (body self (exp (gen) l-3) (pubk "sig" self))
          (privk "sig" self)))))
  (label 110)
  (parent 89)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul x l-0)) l-1))
  (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))
    ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0)) ((6 1) (4 2))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((5 1) (4 0)) ((5 1) (7 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-1 (6 0)
    (ch-msg priv-stor-1 (cat pt-3 (pv b l-1))))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b l-1))))
    ((recv (cat (exp (gen) (mul x l-0)) l-1))
      (send (cat (exp (gen) (mul x l-0)) l-1)))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (stor priv-stor-1 (cat pt-5 "nil")) (send l-1)))
  (label 111)
  (parent 90)
  (unrealized (1 3) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((2 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))
    ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0))))))))
  (label 112)
  (parent 93)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))
    ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb a b
            (hash (exp (gen) y) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0))))))))
  (label 113)
  (parent 93)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 y l-1 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0)) ((6 3) (5 0))
    ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) y))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 114)
  (parent 93)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((2 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))
    ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 115)
  (parent 94)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l x-0 l-0 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))
    ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 116)
  (parent 94)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0)) ((6 2) (5 0))
    ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 117)
  (parent 94)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (rec l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (deflistener (cat (gen) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (rec l-0))
          (enc na nb a b (hash (gen) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((recv (cat (gen) (exp (gen) (mul x l))))
      (send (cat (gen) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 118)
  (parent 95)
  (unrealized (0 0) (1 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (rec l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (gen) (exp (gen) (mul x l))))
  (deflistener (cat (gen) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (rec l-0))
          (enc na nb a b (hash (gen) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (gen) (exp (gen) (mul x l))))
      (send (hash (gen) (exp (gen) (mul x l)))))
    ((recv (cat (gen) (exp (gen) (mul x l))))
      (send (cat (gen) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 119)
  (parent 95)
  (unrealized (0 0) (1 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x rndx))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul l-0 x)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x))
          (enc na nb a b
            (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 120)
  (parent 96)
  (unrealized (0 0) (1 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x rndx))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul l-0 x)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x))
          (enc na nb a b
            (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) x) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 121)
  (parent 96)
  (unrealized (0 0) (1 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) l-0))
          (enc na nb a b
            (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 122)
  (parent 97)
  (unrealized (0 0) (1 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) l-0))
          (enc na nb a b
            (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 123)
  (parent 97)
  (unrealized (0 0) (1 3) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 2) (1 1)) ((3 1) (1 3))
    ((4 1) (3 0)) ((5 1) (1 0)) ((5 2) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (gen)
          (enc na nb self b
            (hash (exp (gen) l-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 124)
  (parent 98)
  (unrealized (0 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x l l-0 rndx))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (one)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) l-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 2) (1 1)) ((3 1) (1 3))
    ((4 1) (3 0)) ((5 1) (1 0)) ((5 2) (4 0)) ((6 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (gen)
          (enc na nb self b
            (hash (exp (gen) l-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-0) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 125)
  (parent 98)
  (unrealized (0 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) l-1))
          (enc na nb a b
            (hash (exp (gen) l-1) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 126)
  (parent 99)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 l-1 rndx))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) l-1) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) (exp (gen) (mul x l))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) l-1))
          (enc na nb a b
            (hash (exp (gen) l-1) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (hash (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) (exp (gen) (mul x l))))
      (send (cat (exp (gen) l-1) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 127)
  (parent 99)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (beta expt)
    (l-1 rndx) (w expt) (x-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul (rec l-1) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 0))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-1) (x-0 l-0) (x-0 beta))
  (precur (6 0))
  (gen-st (pv a l-1) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-0) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))
  (label 128)
  (parent 100)
  (unrealized (0 0) (1 3) (5 0) (7 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)
    (l l-0 x rndx))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) w))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 1 init 3) (exp (gen) x-0) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w (rec l) x))
          (enc na nb a b
            (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
  (label 129)
  (parent 100)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)
    (w expt))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (gen) w))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (eta (mul (rec l-0) w)) (l-1 l-0) (w-0 w)) (gen) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w))
          (enc na nb a b (hash (exp (gen) w) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) w) (exp (gen) (mul x l))))
      (send (cat (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (gen) w)) (send (cat (gen) w))))
  (label 130)
  (parent 100)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (0 0)) ((1 2) (4 0)) ((2 2) (1 1)) ((3 1) (1 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (1 0)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 2 7 ltx-gen 3) (exp (gen) l-1) (6 0))
  (strand-map 0 1 6 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) w)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 131)
  (parent 100)
  (unrealized (0 0) (4 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx)
    (alpha chi expt) (l-1 rndx) (w expt) (y rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul (rec l-1) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 3) (0 0))
    ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l-0) (y alpha) (y chi))
  (precur (6 0))
  (gen-st (pv a l-1) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul l-0 chi))))))))
  (label 132)
  (parent 100)
  (unrealized (0 0) (1 3) (5 0) (7 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) w))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 3 ltx-gen 3) (exp (gen) l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w l-0))
          (enc na nb a b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w))))
  (label 133)
  (parent 100)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)
    (l-1 rndx))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) w))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w l-1))
          (enc na nb a b
            (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 134)
  (parent 100)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))
    ((3 3) (5 0)) ((4 1) (1 0)) ((4 2) (3 1)) ((5 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((4 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))))
  (label 135)
  (parent 101)
  (unrealized (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx)
    (beta expt) (l-1 x-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-1) (chi x))
  (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y l-1) (x-0 l-0) (x-0 beta))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0))))
      (send (cat (exp (gen) x-0) (mul l-1 (rec x-0)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))
  (label 136)
  (parent 102)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (y l l-0 x rndx))
  (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha l) (chi x))
  (deflistener (cat (exp (gen) x) (mul l (rec x))))
  (precedes ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x)
  (absent (y l) (y l-0) (y x) (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 1 init 3) (exp (gen) x-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) x) (mul l (rec x))))
      (send (cat (exp (gen) x) (mul l (rec x))))))
  (label 137)
  (parent 102)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (gen) l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (5 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (contracted (l-1 l-0) (w l-0)) (gen) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0))))
  (label 138)
  (parent 102)
  (unrealized (0 0) (5 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) l-0) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (0 0))
    ((3 3) (1 3)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 2) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 2 6 ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 1 5 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) l-0) (one)))
      (send (cat (exp (gen) l-0) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 139)
  (parent 102)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx)
    (alpha chi expt) (l-1 y-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-1) (chi x))
  (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y l-1) (y-0 l-0) (y-0 alpha)
    (y-0 chi))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0))))
      (send (cat (exp (gen) y-0) (mul l-1 (rec y-0)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul l-0 chi))))))))
  (label 140)
  (parent 102)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha l) (chi x))
  (deflistener (cat (exp (gen) l-0) (mul l (rec l-0))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (5 0)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y l) (y l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 3 ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) l-0) (mul l (rec l-0))))
      (send (cat (exp (gen) l-0) (mul l (rec l-0))))))
  (label 141)
  (parent 102)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))
      (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 142)
  (parent 102)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx)
    (alpha chi expt) (l-1 y-0 rndx))
  (deflistener (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y (rec l-1) y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha y-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-1) y-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 3) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y y-0) (y-0 l-0) (y-0 alpha)
    (y-0 chi))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (4 1))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-1) y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) y-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-1) y-0)))
      (send (cat (exp (gen) y) (mul (rec l-1) y-0))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul l-0 chi))))))))
  (label 143)
  (parent 103)
  (unrealized (0 0) (1 3) (5 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx)
    (beta expt) (l-1 x-0 rndx))
  (deflistener (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y (rec l-1) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha x-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-1) x-0)))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 2) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y x-0) (x-0 l-0) (x-0 beta))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-0) (4 1))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-1) x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) x-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-1) x-0)))
      (send (cat (exp (gen) y) (mul (rec l-1) x-0))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))
  (label 144)
  (parent 103)
  (unrealized (0 0) (1 3) (5 0) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l-0)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l) (y x))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (contracted (l-1 l-0) (w (rec l-0))) (gen)
    (4 1))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (gen) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (rec l-0)))
      (send (cat (exp (gen) y) (rec l-0)))))
  (label 145)
  (parent 103)
  (unrealized (0 0) (1 3) (5 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (y l l-0 x rndx))
  (deflistener (hash (exp (gen) (mul y x)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha x) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) x)))
  (precedes ((1 2) (4 1)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x)
  (absent (y l-0) (y x) (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 1 init 3) (exp (gen) x-0) (4 1))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul y x)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) x))
          (enc na nb a b
            (hash (exp (gen) (mul y x)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv (sig (body a (exp (gen) x) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x)) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) x)))
      (send (cat (exp (gen) y) (mul (rec l) x)))))
  (label 146)
  (parent 103)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y (rec l) l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) l-0)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (4 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 6 3 ltx-gen 3) (exp (gen) l-1) (4 1))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) l-0)))
      (send (cat (exp (gen) y) (mul (rec l) l-0)))))
  (label 147)
  (parent 103)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (0 0))
    ((3 3) (4 0)) ((4 1) (1 3)) ((5 1) (1 0)) ((5 2) (3 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 2 6 ltx-gen 3) (exp (gen) l-1) (4 1))
  (strand-map 0 1 5 2 3 4)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 148)
  (parent 103)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0) l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-1) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) l-1)))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 2) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (4 1))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) l-1)))
      (send (cat (exp (gen) y) (mul (rec l-0) l-1))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 149)
  (parent 103)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l l-0 rndx)
    (w expt) (x y rndx) (w-0 expt))
  (deflistener (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 w)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (exp (gen) (mul l-0 w (rec w-0))) w-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y (mul l-0 w)) (y x))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul l-0 w (rec w-0))) w-0))
    (exp (gen) (mul l-0 w)) (4 1))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y))
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 w)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (exp (gen) (mul l-0 w (rec w-0))) w-0))
      (send (cat (exp (gen) (mul l-0 w (rec w-0))) w-0))))
  (label 150)
  (parent 103)
  (unrealized (0 0) (6 0))
  (comment "7 in cohort - 7 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta expt) (l-0 rndx) (w expt) (x-0 y x-1 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul l-0 w x-0 y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul l-0 w x-0 y (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 w x-0)) (chi x))
  (deflistener
    (cat (exp (gen) x-1) (mul l-0 w x-0 y (rec x-1) (rec l-1))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-1) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-1)
  (absent (x l) (x l-1) (y x) (y l) (y (mul l-0 w x-0)) (x-1 beta)
    (x-1 l-1))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-2))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul l-0 w x-0 y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul l-0 w x-0 y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l-0 w x-0 y (rec l-1)))
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w x-0 y))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 w x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w x-0 y))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) x-1) (mul l-0 w x-0 y (rec x-1) (rec l-1))))
      (send
        (cat (exp (gen) x-1) (mul l-0 w x-0 y (rec x-1) (rec l-1)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-1)))))
  (label 151)
  (parent 104)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l rndx) (w expt) (x-0 l-0 y x-1 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul l w x-0 y)) (exp (gen) (mul x l-1))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l-1) (eta (mul l w x-0 (rec l-0) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-1))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-1) (y y) (alpha (mul l w x-0)) (chi x))
  (deflistener
    (cat (exp (gen) x-1) (mul l w x-0 (rec l-0) y (rec x-1))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-1) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l-0 l-1)
  (uniq-gen x y x-1)
  (absent (x l-0) (x l-1) (y x) (y (mul l w x-0)) (y l-1) (x-1 beta)
    (x-1 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l-1))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-1))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-2))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul l w x-0 y)) (exp (gen) (mul x l-1))))
      (send (hash (exp (gen) (mul l w x-0 y)) (exp (gen) (mul x l-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l w x-0 (rec l-0) y))
          (enc na nb a b
            (hash (exp (gen) (mul l w x-0 y))
              (exp (gen) (mul x l-1)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-1)))
      (send
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) (mul l w x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l w x-0 y))
              (exp (gen) (mul x l-1)))))))
    ((recv (cat (exp (gen) x-1) (mul l w x-0 (rec l-0) y (rec x-1))))
      (send (cat (exp (gen) x-1) (mul l w x-0 (rec l-0) y (rec x-1)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-1)))))
  (label 152)
  (parent 104)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 l-1 y x-1 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul l-0 w x-0 y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul l-0 w x-0 (rec l-1) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 w x-0)) (chi x))
  (deflistener
    (cat (exp (gen) x-1) (mul l-0 w x-0 (rec l-1) y (rec x-1))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-2) (x x-1) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-2))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 2) (5 0))
    ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1 l-2)
  (uniq-gen x y x-1)
  (absent (x l) (x l-1) (y x) (y l) (y (mul l-0 w x-0)) (x-1 beta)
    (x-1 l-2))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-2))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-2))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul l-0 w x-0 y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul l-0 w x-0 y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l-0 w x-0 (rec l-1) y))
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w x-0 y))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 w x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w x-0 y))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) x-1) (mul l-0 w x-0 (rec l-1) y (rec x-1))))
      (send
        (cat (exp (gen) x-1) (mul l-0 w x-0 (rec l-1) y (rec x-1)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-2)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-1))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-2)))))
  (label 153)
  (parent 104)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi expt) (l-0 rndx) (w expt) (y y-0 y-1 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul l-0 w y y-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul l-0 w y y-0 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y-0) (alpha (mul l-0 w y)) (chi x))
  (deflistener
    (cat (exp (gen) y-1) (mul l-0 w y y-0 (rec y-1) (rec l-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-1) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y-0 y-1)
  (absent (x l) (x l-1) (y-0 x) (y-0 l) (y-0 (mul l-0 w y)) (y-1 alpha)
    (y-1 chi) (y-1 l-1))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-2))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul l-0 w y y-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul l-0 w y y-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l-0 w y y-0 (rec l-1)))
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y y-0))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 w y)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y-0)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y y-0))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y-1) (mul l-0 w y y-0 (rec y-1) (rec l-1))))
      (send
        (cat (exp (gen) y-1) (mul l-0 w y y-0 (rec y-1) (rec l-1)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-1))))))))
  (label 154)
  (parent 108)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l rndx) (w expt) (y l-0 y-0 y-1 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul l w y y-0)) (exp (gen) (mul x l-1))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l-1) (eta (mul l w y (rec l-0) y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-1))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-1) (y y-0) (alpha (mul l w y)) (chi x))
  (deflistener
    (cat (exp (gen) y-1) (mul l w y (rec l-0) y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-1) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l-0 l-1)
  (uniq-gen x y-0 y-1)
  (absent (x l-0) (x l-1) (y-0 x) (y-0 (mul l w y)) (y-0 l-1)
    (y-1 alpha) (y-1 chi) (y-1 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l-1))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-1))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-2))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul l w y y-0)) (exp (gen) (mul x l-1))))
      (send (hash (exp (gen) (mul l w y y-0)) (exp (gen) (mul x l-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l w y (rec l-0) y-0))
          (enc na nb a b
            (hash (exp (gen) (mul l w y y-0))
              (exp (gen) (mul x l-1)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-1)))
      (send
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) (mul l w y)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y-0)
          (enc na nb a b
            (hash (exp (gen) (mul l w y y-0))
              (exp (gen) (mul x l-1)))))))
    ((recv (cat (exp (gen) y-1) (mul l w y (rec l-0) y-0 (rec y-1))))
      (send (cat (exp (gen) y-1) (mul l w y (rec l-0) y-0 (rec y-1)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-1))))))))
  (label 155)
  (parent 108)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 rndx) (w expt) (y l-1 y-0 y-1 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul l-0 w y y-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul l-0 w y (rec l-1) y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y-0) (alpha (mul l-0 w y)) (chi x))
  (deflistener
    (cat (exp (gen) y-1) (mul l-0 w y (rec l-1) y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-2) (y y-1) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-2))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 3) (5 0))
    ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1 l-2)
  (uniq-gen x y-0 y-1)
  (absent (x l) (x l-1) (y-0 x) (y-0 l) (y-0 (mul l-0 w y)) (y-1 alpha)
    (y-1 chi) (y-1 l-2))
  (precur (5 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-2))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-2))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul l-0 w y y-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul l-0 w y y-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul l-0 w y (rec l-1) y-0))
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y y-0))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 w y)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y-0)
          (enc na nb a b
            (hash (exp (gen) (mul l-0 w y y-0))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y-1) (mul l-0 w y (rec l-1) y-0 (rec y-1))))
      (send
        (cat (exp (gen) y-1) (mul l-0 w y (rec l-1) y-0 (rec y-1)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-2)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-2)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-2)))))
  (label 156)
  (parent 108)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul x l-0)) l-1))
  (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))
    ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0)) ((6 1) (4 2))
    ((7 2) (6 0)) ((8 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((5 1) (4 0)) ((5 1) (7 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b l-1))))
    ((recv (cat (exp (gen) (mul x l-0)) l-1))
      (send (cat (exp (gen) (mul x l-0)) l-1)))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 157)
  (parent 111)
  (unrealized (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l y rndx) (alpha expt)
    (x l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y alpha)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-1)
    (l l-1) (y y) (alpha alpha) (chi (mul x l-0 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul x l-0)) l-1))
  (defstrand ltx-disclose 3 (self b) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1)) ((4 3) (0 0))
    ((4 3) (1 3)) ((5 1) (4 0)) ((5 1) (7 0)) ((6 1) (4 2))
    ((7 2) (6 0)) ((8 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen y x)
  (absent (y alpha) (y (mul x l-0 (rec l-1))) (y l-1) (x l) (x l-0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((5 1) (4 0)) ((5 1) (7 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y alpha))
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) (mul x l-0 (rec l-1)))))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y alpha)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b l-1))))
    ((recv (cat (exp (gen) (mul x l-0)) l-1))
      (send (cat (exp (gen) (mul x l-0)) l-1)))
    ((load priv-stor-1 (cat pt-3 (pv b l-1)))
      (stor priv-stor-1 (cat pt-5 "nil")) (send l-1))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 158)
  (parent 111)
  (unrealized (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((2 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))
    ((6 3) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 159)
  (parent 112)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((2 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))
    ((6 3) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 160)
  (parent 112)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))
    ((6 3) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb a b
            (hash (exp (gen) y) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 161)
  (parent 113)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0))
    ((6 3) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb a b
            (hash (exp (gen) y) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 162)
  (parent 113)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 y l-1 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0)) ((6 3) (5 0))
    ((7 1) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) y))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 163)
  (parent 114)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 y l-1 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul x l))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 3) (0 0)) ((6 3) (5 0))
    ((7 1) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) y))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) y) (exp (gen) (mul x l))))
      (send (hash (exp (gen) y) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul x l))))
      (send (cat (exp (gen) y) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 164)
  (parent 114)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((2 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))
    ((6 2) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 165)
  (parent 115)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((2 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))
    ((6 2) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 166)
  (parent 115)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l x-0 l-0 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))
    ((6 2) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 167)
  (parent 116)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l x-0 l-0 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0))
    ((6 2) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 168)
  (parent 116)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0)) ((6 2) (5 0))
    ((7 1) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 169)
  (parent 117)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) x-0) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) (exp (gen) (mul x l))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 2) (0 0)) ((6 2) (5 0))
    ((7 1) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) x-0))
          (enc na nb a b
            (hash (exp (gen) x-0) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (hash (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) (exp (gen) (mul x l))))
      (send (cat (exp (gen) x-0) (exp (gen) (mul x l)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 170)
  (parent 117)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta w expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 2) (0 0)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 8 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 171)
  (parent 128)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 2) (0 0)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 8 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 172)
  (parent 128)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 0))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (precur (6 0))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 173)
  (parent 128)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)
    (l l-0 x rndx))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) w))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((1 2) (7 0)) ((2 1) (1 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul l-0 x)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w (rec l) x))
          (enc na nb a b
            (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 174)
  (parent 129)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)
    (l l-0 x rndx))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul w (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) w))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (0 0)) ((1 2) (6 0)) ((1 2) (7 0)) ((2 1) (1 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul l-0 x)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w (rec l) x))
          (enc na nb a b
            (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w x)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w)))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 175)
  (parent 129)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)
    (w expt))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (gen) w))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w))
          (enc na nb a b (hash (exp (gen) w) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) w) (exp (gen) (mul x l))))
      (send (cat (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (gen) w)) (send (cat (gen) w)))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 176)
  (parent 130)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l l-0 rndx)
    (w expt))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) w) (exp (gen) (mul x l))))
  (deflistener (cat (gen) w))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w))
          (enc na nb a b (hash (exp (gen) w) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) w) (exp (gen) (mul x l))))
      (send (hash (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) w) (exp (gen) (mul x l))))
      (send (cat (exp (gen) w) (exp (gen) (mul x l)))))
    ((recv (cat (gen) w)) (send (cat (gen) w)))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 177)
  (parent 130)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 2) (1 1)) ((3 1) (1 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (1 0)) ((6 2) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) w)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 178)
  (parent 131)
  (unrealized (0 0) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta w))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 2) (1 1)) ((3 1) (1 3))
    ((4 1) (3 0)) ((5 1) (4 0)) ((6 1) (1 0)) ((6 2) (5 0))
    ((7 1) (4 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (5 0))
  (gen-st (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (4 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) w)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 179)
  (parent 131)
  (unrealized (0 0) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi w expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 3) (0 0)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 8 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0))))))))
  (label 180)
  (parent 132)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 3) (0 0)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 8 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0))))))))
  (label 181)
  (parent 132)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 rndx) (w expt) (y l-1 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (0 0)) ((1 2) (5 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 3) (0 0))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (precur (6 0))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 182)
  (parent 132)
  (unrealized (0 0) (1 3) (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) w))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w l-0))
          (enc na nb a b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 183)
  (parent 133)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) l-0) w))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (0 0)) ((1 2) (7 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w l-0))
          (enc na nb a b
            (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w l-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 184)
  (parent 133)
  (unrealized (0 0) (1 3) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)
    (l-1 rndx))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) w))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (6 0))
    ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w l-1))
          (enc na nb a b
            (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 185)
  (parent 134)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l l-0 rndx) (w expt)
    (l-1 rndx))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) l-1) w))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (6 0))
    ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na l l-0 l-1)
  (uniq-gen x)
  (absent (x l) (x l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w l-1))
          (enc na nb a b
            (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w l-1)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 186)
  (parent 134)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))
    ((3 3) (6 0)) ((4 1) (1 0)) ((4 2) (3 1)) ((5 1) (0 0))
    ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((4 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) y) l-0))
    (exp (gen) (mul y l-0)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0))))
  (label 187)
  (parent 135)
  (unrealized (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l-0) y))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))
    ((3 3) (6 0)) ((4 1) (1 0)) ((4 2) (3 1)) ((5 1) (0 0))
    ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((4 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) y))
    (exp (gen) (mul y l-0)) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l-0) y)) (send (cat (exp (gen) l-0) y))))
  (label 188)
  (parent 135)
  (unrealized (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-0)))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))
    ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-0)))
      (send (cat (exp (gen) x-0) (mul (rec x-0) l-0))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 189)
  (parent 136)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha l) (chi x))
  (deflistener (cat (exp (gen) x-0) (mul l (rec x-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))
    ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y l) (y l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) x-0) (mul l (rec x-0))))
      (send (cat (exp (gen) x-0) (mul l (rec x-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 190)
  (parent 136)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 2) (5 0))
    ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (x-0 beta) (x-0 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))
      (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 191)
  (parent 136)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))
    ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (5 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 192)
  (parent 138)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) l-0) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))
    ((3 3) (6 0)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 2) (4 0))
    ((6 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) l-0) (one)))
      (send (cat (exp (gen) l-0) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))))
  (label 193)
  (parent 139)
  (unrealized (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi expt) (y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))
    ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (y-0 alpha) (y-0 chi)
    (y-0 l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-0)))
      (send (cat (exp (gen) y-0) (mul (rec y-0) l-0))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 194)
  (parent 140)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha l) (chi x))
  (deflistener (cat (exp (gen) y-0) (mul l (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1))
    ((6 3) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y l) (y l-0) (y-0 alpha) (y-0 chi)
    (y-0 l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y-0) (mul l (rec y-0))))
      (send (cat (exp (gen) y-0) (mul l (rec y-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 195)
  (parent 140)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 y-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (1 3)) ((5 1) (4 1)) ((6 3) (5 0))
    ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (y-0 alpha) (y-0 chi)
    (y-0 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))
      (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 196)
  (parent 140)
  (unrealized (0 0) (4 1) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi expt) (y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y y-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha y-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul y-0 (rec l-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 3) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y l) (y x) (y y-0) (y-0 alpha) (y-0 chi)
    (y-0 l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y y-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) y-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul y-0 (rec l-0))))
      (send (cat (exp (gen) y) (mul y-0 (rec l-0)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 197)
  (parent 143)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y y-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y (rec l) y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha y-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) y-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 3) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y y-0) (y l-0) (y-0 alpha) (y-0 chi)
    (y-0 l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y y-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y y-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y y-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) y-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y y-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) y-0)))
      (send (cat (exp (gen) y) (mul (rec l) y-0))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 198)
  (parent 143)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 y-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0) y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha y-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) y-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 3) (4 1))
    ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y l) (y x) (y y-0) (y-0 alpha) (y-0 chi)
    (y-0 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) y-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) y-0)))
      (send (cat (exp (gen) y) (mul (rec l-0) y-0))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 199)
  (parent 143)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha x-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul x-0 (rec l-0))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 2) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y l) (y x) (y x-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) x-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul x-0 (rec l-0))))
      (send (cat (exp (gen) y) (mul x-0 (rec l-0)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 200)
  (parent 144)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y x-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y (rec l) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha x-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) x-0)))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 2) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y x-0) (y l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 7 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y x-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y x-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) x-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) x-0)))
      (send (cat (exp (gen) y) (mul (rec l) x-0))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 201)
  (parent 144)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha x-0) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) x-0)))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 2) (4 1))
    ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y l) (y x) (y x-0) (x-0 beta) (x-0 l-1))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((7 1) (6 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) x-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) x-0)))
      (send (cat (exp (gen) y) (mul (rec l-0) x-0))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 202)
  (parent 144)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l-0)))
  (deflistener l-0)
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l) (y x))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener l-0) (rec l-0) (5 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (gen) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (rec l-0)))
      (send (cat (exp (gen) y) (rec l-0)))) ((recv l-0) (send l-0)))
  (label 203)
  (parent 145)
  (unrealized (0 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (6 0)) ((4 1) (1 3)) ((5 1) (1 0)) ((5 2) (3 1))
    ((6 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))))
  (label 204)
  (parent 148)
  (unrealized (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx)
    (beta expt) (l-1 rndx) (w expt) (x-0 rndx))
  (deflistener (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y (rec l-1) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-1) w x-0)))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w x-0)) (x-0 l-0)
    (x-0 beta))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-0) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-1) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-1) w x-0)))
      (send (cat (exp (gen) y) (mul (rec l-1) w x-0))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 a-0 b-0 (exp (gen) x-0)))))
  (label 205)
  (parent 150)
  (unrealized (0 0) (1 3) (5 0) (7 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y rndx)
    (w expt) (l l-0 x rndx))
  (deflistener (hash (exp (gen) (mul y w x)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y w (rec l) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul w x)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l) x)))
  (deflistener (cat (exp (gen) x) w))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x)
  (absent (y (mul w x)) (y l-0) (y x) (x l) (x l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 1 init 3) (exp (gen) x-0) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w x)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul y w x)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l) x))
          (enc na nb a b
            (hash (exp (gen) (mul y w x)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul w x)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x)) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l) x)))
      (send (cat (exp (gen) y) (mul w (rec l) x))))
    ((recv (cat (exp (gen) x) w)) (send (cat (exp (gen) x) w))))
  (label 206)
  (parent 150)
  (unrealized (0 0) (1 3) (5 0))
  (comment "4 in cohort - 4 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx) (w expt))
  (deflistener (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w)))
  (deflistener (cat (gen) w))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (l-1 l-0) (w-0 (mul (rec l-0) w)) (w-1 w)) (gen) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w))
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (exp (gen) w) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w)))
      (send (cat (exp (gen) y) (mul (rec l-0) w))))
    ((recv (cat (gen) w)) (send (cat (gen) w))))
  (label 207)
  (parent 150)
  (unrealized (0 0) (1 3) (5 0))
  (comment "6 in cohort - 6 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (0 0))
    ((3 3) (4 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)))
  (precur (4 0) (5 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 2 7 ltx-gen 3) (exp (gen) l-1) (6 0))
  (strand-map 0 1 6 2 3 4 5)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb self b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w l-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 208)
  (parent 150)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx)
    (alpha chi expt) (l-1 rndx) (w expt) (y-0 rndx))
  (deflistener (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y (rec l-1) w y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-1) w y-0)))
  (deflistener (cat (exp (gen) y-0) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w y-0)) (y-0 l-0)
    (y-0 alpha) (y-0 chi))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y-0) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-1) w y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-1) w y-0)))
      (send (cat (exp (gen) y) (mul (rec l-1) w y-0))))
    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul l-0 chi))))))))
  (label 209)
  (parent 150)
  (unrealized (0 0) (1 3) (5 0) (7 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y l rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y (rec l) w l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w l-0)))
  (deflistener (cat (exp (gen) l-0) w))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y (mul w l-0)) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 3 ltx-gen 3) (exp (gen) l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w l-0)))
      (send (cat (exp (gen) y) (mul (rec l) w l-0))))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w))))
  (label 210)
  (parent 150)
  (unrealized (0 0) (1 3) (5 0))
  (comment "6 in cohort - 6 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx) (w expt)
    (l-1 rndx))
  (deflistener (hash (exp (gen) (mul y w l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0) w l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w l-1)))
  (deflistener (cat (exp (gen) l-1) w))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w l-1)))
      (send (cat (exp (gen) y) (mul (rec l-0) w l-1))))
    ((recv (cat (exp (gen) l-1) w)) (send (cat (exp (gen) l-1) w)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 211)
  (parent 150)
  (unrealized (0 0) (1 3) (5 0))
  (comment "7 in cohort - 7 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta w expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 2) (0 0)) ((7 2) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 212)
  (parent 171)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (beta w expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 2) (0 0)) ((7 2) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 213)
  (parent 171)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 2) (0 0)) ((7 2) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 214)
  (parent 172)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 2) (0 0)) ((7 2) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-0))
  (precur (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 215)
  (parent 172)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (9 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 0))
    ((7 2) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (precur (6 0))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 216)
  (parent 173)
  (unrealized (0 0) (1 3) (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (9 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 2) (0 0))
    ((7 2) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na na-0 l l-0 l-1)
  (uniq-gen x x-0)
  (absent (x l) (x l-0) (x-0 beta) (x-0 l-1))
  (precur (6 0))
  (gen-st (pv a l-0) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w x-0)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 217)
  (parent 173)
  (unrealized (0 0) (1 3) (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi w expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 3) (0 0)) ((7 3) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 218)
  (parent 180)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (alpha chi w expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul w y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 3) (0 0)) ((7 3) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (6 0))
  (gen-st (pv a l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 219)
  (parent 180)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 3) (0 0)) ((7 3) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 220)
  (parent 181)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l rndx) (w expt) (y l-0 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul (rec l) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y) (alpha alpha) (chi chi))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (0 0)) ((1 2) (8 0)) ((2 1) (1 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0))
    ((7 3) (0 0)) ((7 3) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-0))
  (precur (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul x l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-0)))))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 221)
  (parent 181)
  (unrealized (0 0) (1 3) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 rndx) (w expt) (y l-1 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (0 0)) ((1 2) (9 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 3) (0 0))
    ((7 3) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (precur (6 0))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 222)
  (parent 182)
  (unrealized (0 0) (1 3) (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x l rndx) (alpha chi expt)
    (l-0 rndx) (w expt) (y l-1 rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul (rec l-0) w y)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
  (deflistener (cat (exp (gen) y) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (0 0)) ((1 2) (9 0)) ((2 1) (1 0)) ((3 2) (1 1))
    ((4 1) (1 3)) ((5 1) (4 0)) ((6 1) (5 0)) ((7 3) (0 0))
    ((7 3) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb-0 l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y alpha) (y chi) (y l-1))
  (precur (6 0))
  (gen-st (pv a l-0) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul x l)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y))
          (enc na nb a b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul x l))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul x l)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 223)
  (parent 182)
  (unrealized (0 0) (1 3) (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))
    ((3 3) (6 0)) ((4 1) (1 0)) ((4 1) (7 0)) ((4 2) (3 1))
    ((5 1) (0 0)) ((6 1) (5 0)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((4 1) (1 0)) ((4 1) (7 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)
    (ch-msg priv-stor-0 (cat pt-2 (pv self l-0))))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0)))
  (label 224)
  (parent 187)
  (unrealized (5 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (1 3)) ((4 3) (7 0)) ((5 1) (4 1))
    ((6 2) (5 0)) ((7 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))))
  (label 225)
  (parent 192)
  (unrealized (7 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) l-0) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))
    ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 2) (4 0))
    ((6 1) (0 0)) ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) y) l-0))
    (exp (gen) (mul y l-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) l-0) (one)))
      (send (cat (exp (gen) l-0) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0))))
  (label 226)
  (parent 193)
  (unrealized (6 0) (7 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) l-0) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l-0) y))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))
    ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 2) (4 0))
    ((6 1) (0 0)) ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) y))
    (exp (gen) (mul y l-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) l-0) (one)))
      (send (cat (exp (gen) l-0) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l-0) y)) (send (cat (exp (gen) l-0) y))))
  (label 227)
  (parent 193)
  (unrealized (6 0) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (5 0)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l) (y x))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (gen) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (rec l-0)))
      (send (cat (exp (gen) y) (rec l-0)))) ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 228)
  (parent 203)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (1 0)) ((5 2) (3 1))
    ((6 1) (0 0)) ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) y) l-0))
    (exp (gen) (mul y l-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0))))
  (label 229)
  (parent 204)
  (unrealized (6 0) (7 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l-0) y))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (1 0)) ((5 2) (3 1))
    ((6 1) (0 0)) ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) y))
    (exp (gen) (mul y l-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l-0) y)) (send (cat (exp (gen) l-0) y))))
  (label 230)
  (parent 204)
  (unrealized (6 0) (7 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta w expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w x-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0 (rec l-0))))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w x-0)) (x-0 beta)
    (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 8 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w x-0 (rec l-0))))
      (send (cat (exp (gen) y) (mul w x-0 (rec l-0)))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 231)
  (parent 205)
  (unrealized (0 0) (1 3) (5 0))
  (comment "5 in cohort - 5 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l rndx) (w expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y (rec l) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul w x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w x-0)))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y (mul w x-0)) (y l-0) (x-0 beta)
    (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 8 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul w x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w x-0)))
      (send (cat (exp (gen) y) (mul (rec l) w x-0))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 232)
  (parent 205)
  (unrealized (0 0) (1 3) (5 0))
  (comment "5 in cohort - 5 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0) w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w x-0)))
  (deflistener (cat (exp (gen) x-0) w))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w x-0)) (x-0 beta)
    (x-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w x-0)))
      (send (cat (exp (gen) y) (mul (rec l-0) w x-0))))
    ((recv (cat (exp (gen) x-0) w)) (send (cat (exp (gen) x-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 233)
  (parent 205)
  (unrealized (0 0) (1 3) (5 0))
  (comment "6 in cohort - 6 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (y l l-0 x l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) x) (mul l-0 (rec x) l-1)))
  (defstrand ltx-gen 2 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen y x)
  (absent (y l) (y (mul l-0 l-1)) (y x) (x l) (x l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) x) (mul l-0 (rec x) l-1)))
      (send (cat (exp (gen) x) (mul l-0 (rec x) l-1))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))))
  (label 234)
  (parent 206)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (y l l-0 x rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) x) (mul l-0 (rec x))))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x)
  (absent (y l) (y l-0) (y x) (x l) (x l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (w (mul l-0 (rec x))) (l-1 l-0) (x-0 x)) (one) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) x) (mul l-0 (rec x))))
      (send (cat (exp (gen) x) (mul l-0 (rec x))))))
  (label 235)
  (parent 206)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y rndx)
    (w expt) (l l-0 l-1 x rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l) l-1)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-0) (eta (mul y w (rec l))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul w (rec l) l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l))))
  (deflistener (cat (exp (gen) x) (mul w (rec l) l-1 (rec x))))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-0 l-1)
  (uniq-gen y x)
  (absent (y (mul w (rec l) l-1)) (y l-0) (y x) (x (mul w (rec l)))
    (x l-0) (x l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x (mul w (rec l)))
    (mul w (rec l)) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l) l-1)) (exp (gen) (mul l-0 x))))
      (send
        (hash (exp (gen) (mul y w (rec l) l-1))
          (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l)))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l) l-1))
              (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul w (rec l) l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l) l-1))
              (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l))))
      (send (cat (exp (gen) y) (mul w (rec l)))))
    ((recv (cat (exp (gen) x) (mul w (rec l) l-1 (rec x))))
      (send (cat (exp (gen) x) (mul w (rec l) l-1 (rec x))))))
  (label 236)
  (parent 206)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y rndx)
    (w expt) (l x l-0 x-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x l-0)) (exp (gen) (mul l x-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta l) (eta (mul y w x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x l-0)) (chi x-0))
  (deflistener (cat (exp (gen) y) (mul w x)))
  (deflistener (cat (exp (gen) x-0) (mul w x l-0 (rec x-0))))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x-0)
  (absent (y (mul w x l-0)) (y l) (y x-0) (l-0 (mul w x)) (x-0 l)
    (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w x)) (mul w x) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w x l-0)) (exp (gen) (mul l x-0))))
      (send (hash (exp (gen) (mul y w x l-0)) (exp (gen) (mul l x-0)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x-0)))
      (recv
        (cat (exp (gen) (mul y w x))
          (enc na nb a b
            (hash (exp (gen) (mul y w x l-0))
              (exp (gen) (mul l x-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x-0)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x l-0))
              (exp (gen) (mul l x-0)))))))
    ((recv (cat (exp (gen) y) (mul w x)))
      (send (cat (exp (gen) y) (mul w x))))
    ((recv (cat (exp (gen) x-0) (mul w x l-0 (rec x-0))))
      (send (cat (exp (gen) x-0) (mul w x l-0 (rec x-0))))))
  (label 237)
  (parent 206)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul l l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (gen) (mul l l-0)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y (mul l l-0)) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 3 ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul l l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (gen) (mul l l-0))) (send (cat (gen) (mul l l-0)))))
  (label 238)
  (parent 207)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (gen) (mul l-0 l-0)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 2 ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (gen) (mul l-0 l-0))) (send (cat (gen) (mul l-0 l-0)))))
  (label 239)
  (parent 207)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (contracted (l-1 l-0) (w l-0)) (one) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0))))
  (label 240)
  (parent 207)
  (unrealized (0 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (gen) (mul l-0 l-1)))
  (defstrand ltx-gen 2 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (gen) (mul l-0 l-1))) (send (cat (gen) (mul l-0 l-1))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))))
  (label 241)
  (parent 207)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (gen) (mul w l-0)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)) (l-0 w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 w) w (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (gen) (mul w l-0))) (send (cat (gen) (mul w l-0)))))
  (label 242)
  (parent 207)
  (unrealized (0 0) (4 1) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx) (w expt))
  (deflistener (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w)))
  (deflistener (cat (gen) w))
  (deflistener l-0)
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener l-0) (mul (rec l-0) w) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w))
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (exp (gen) w) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w)))
      (send (cat (exp (gen) y) (mul (rec l-0) w))))
    ((recv (cat (gen) w)) (send (cat (gen) w))) ((recv l-0) (send l-0)))
  (label 243)
  (parent 207)
  (unrealized (0 0) (7 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)))
  (precur (4 0) (5 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb self b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w l-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))))
  (label 244)
  (parent 208)
  (unrealized (7 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi w expt) (y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w y-0 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0 (rec l-0))))
  (deflistener (cat (exp (gen) y-0) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w y-0)) (y-0 alpha)
    (y-0 chi) (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 8 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w y-0 (rec l-0))))
      (send (cat (exp (gen) y) (mul w y-0 (rec l-0)))))
    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 245)
  (parent 209)
  (unrealized (0 0) (1 3) (5 0))
  (comment "5 in cohort - 5 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l rndx) (w expt) (y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y (rec l) w y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul w y-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w y-0)))
  (deflistener (cat (exp (gen) y-0) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y (mul w y-0)) (y l-0) (y-0 alpha)
    (y-0 chi) (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 8 3 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul w y-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w y-0)))
      (send (cat (exp (gen) y) (mul (rec l) w y-0))))
    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 246)
  (parent 209)
  (unrealized (0 0) (1 3) (5 0))
  (comment "5 in cohort - 5 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 rndx) (w expt) (y-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0) w y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w y-0)))
  (deflistener (cat (exp (gen) y-0) w))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w y-0)) (y-0 alpha)
    (y-0 chi) (y-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w y-0)))
      (send (cat (exp (gen) y) (mul (rec l-0) w y-0))))
    ((recv (cat (exp (gen) y-0) w)) (send (cat (exp (gen) y-0) w)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 247)
  (parent 209)
  (unrealized (0 0) (1 3) (5 0))
  (comment "6 in cohort - 6 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul l l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) l-0) l))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0))
    ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y (mul l l-0)) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 3 ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul l l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) l-0) l)) (send (cat (exp (gen) l-0) l))))
  (label 248)
  (parent 210)
  (unrealized (0 0) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) l) (mul (rec l) l-0 l-0)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y l) (y (mul l-0 l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 2 ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) l) (mul (rec l) l-0 l-0)))
      (send (cat (exp (gen) l) (mul (rec l) l-0 l-0)))))
  (label 249)
  (parent 210)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha l) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) l-0) (mul l (rec l-0))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y l) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (l-1 l) (w (mul l (rec l-0))) (l-2 l-0)) (one) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv (sig (body a (exp (gen) l) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) l-0) (mul l (rec l-0))))
      (send (cat (exp (gen) l-0) (mul l (rec l-0))))))
  (label 250)
  (parent 210)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x y l l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul l l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-0) (mul l (rec l-0) l-1)))
  (defstrand ltx-gen 2 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y (mul l l-1)) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul l l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-0) (mul l (rec l-0) l-1)))
      (send (cat (exp (gen) l-0) (mul l (rec l-0) l-1))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))))
  (label 251)
  (parent 210)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y l rndx)
    (w expt) (l-0 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w l-0)) (exp (gen) (mul x l-1))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l-1) (eta (mul y (rec l) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-1))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-1) (y y) (alpha (mul (rec l) w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w)))
  (deflistener (cat (exp (gen) l-1) (mul (rec l) w l-0 (rec l-1))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-0 l-1)
  (uniq-gen x y)
  (absent (x l-0) (x l-1) (y x) (y (mul (rec l) w l-0)) (y l-1)
    (l-1 (mul (rec l) w)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-1))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul (rec l) w))
    (mul (rec l) w) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w l-0)) (exp (gen) (mul x l-1))))
      (send
        (hash (exp (gen) (mul y (rec l) w l-0))
          (exp (gen) (mul x l-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-0))
              (exp (gen) (mul x l-1)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-1)))
      (send
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) (mul (rec l) w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-0))
              (exp (gen) (mul x l-1)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w)))
      (send (cat (exp (gen) y) (mul (rec l) w))))
    ((recv (cat (exp (gen) l-1) (mul (rec l) w l-0 (rec l-1))))
      (send (cat (exp (gen) l-1) (mul (rec l) w l-0 (rec l-1))))))
  (label 252)
  (parent 210)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (w expt) (l l-0 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w l l-0)) (exp (gen) (mul x l-1))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l-1) (eta (mul y w l)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-1))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-1) (y y) (alpha (mul w l l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w l)))
  (deflistener (cat (exp (gen) l-1) (mul w l l-0 (rec l-1))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-0 l-1)
  (uniq-gen x y)
  (absent (x l-0) (x l-1) (y x) (y (mul w l l-0)) (y l-1)
    (l-0 (mul w l)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-1))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w l)) (mul w l) (5 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w l l-0)) (exp (gen) (mul x l-1))))
      (send (hash (exp (gen) (mul y w l l-0)) (exp (gen) (mul x l-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w l))
          (enc na nb a b
            (hash (exp (gen) (mul y w l l-0))
              (exp (gen) (mul x l-1)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-1)))
      (send
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) (mul w l l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l l-0))
              (exp (gen) (mul x l-1)))))))
    ((recv (cat (exp (gen) y) (mul w l)))
      (send (cat (exp (gen) y) (mul w l))))
    ((recv (cat (exp (gen) l-1) (mul w l l-0 (rec l-1))))
      (send (cat (exp (gen) l-1) (mul w l l-0 (rec l-1))))))
  (label 253)
  (parent 210)
  (unrealized (0 0) (4 1) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x y l l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-1))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-1) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-1))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-1) (y y) (alpha (mul l l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-0) (mul l (rec l-0) l-1)))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y x) (y (mul l l-1)) (y l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-1))
  (facts (neq b a) (neq a b) (undisclosed l-1))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 3 ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-1))))
      (send (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-1)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-1)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-1)))
      (send
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) (mul l l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-1)) (exp (gen) (mul x l-1)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-0) (mul l (rec l-0) l-1)))
      (send (cat (exp (gen) l-0) (mul l (rec l-0) l-1))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 254)
  (parent 211)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-1 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-0) (mul (rec l-0) l-1 l-1)))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l) (y x) (y (mul l-1 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 2 ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-1 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-0) (mul (rec l-0) l-1 l-1)))
      (send (cat (exp (gen) l-0) (mul (rec l-0) l-1 l-1))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 255)
  (parent 211)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (l-2 l-0) (w (mul l-0 (rec l-1))) (l-3 l-1)) (one)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1))))
      (send (cat (exp (gen) l-1) (mul l-0 (rec l-1)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 256)
  (parent 211)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb data)
    (a b self self-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn)
    (l x y l-0 l-1 l-2 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-2)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-2)) (chi x))
  (deflistener (cat (exp (gen) y) l-2))
  (deflistener (cat (exp (gen) l-1) (mul l-0 (rec l-1) l-2)))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-gen 2 (ignore ignore-2) (self self-0)
    (priv-stor priv-stor-2) (l l-2))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1 l-2)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-2)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-2)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-2)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-2))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-2)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-2)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-2)) (send (cat (exp (gen) y) l-2)))
    ((recv (cat (exp (gen) l-1) (mul l-0 (rec l-1) l-2)))
      (send (cat (exp (gen) l-1) (mul l-0 (rec l-1) l-2))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor-2 (cat pt-5 ignore-2))
      (stor priv-stor-2 (cat pt-6 (pv self-0 l-2)))))
  (label 257)
  (parent 211)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 7 ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self)))))
  (label 258)
  (parent 211)
  (unrealized (0 0) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx) (w expt)
    (l-1 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w)))
  (deflistener (cat (exp (gen) l-2) (mul (rec l-0) w l-1 (rec l-2))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-2))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-1 l-2)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l) (y x) (y (mul (rec l-0) w l-1))
    (l-2 (mul (rec l-0) w)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-2 (mul (rec l-0) w))
    (mul (rec l-0) w) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w l-1)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w l-1))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul (rec l-0) w l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w)))
      (send (cat (exp (gen) y) (mul (rec l-0) w))))
    ((recv (cat (exp (gen) l-2) (mul (rec l-0) w l-1 (rec l-2))))
      (send (cat (exp (gen) l-2) (mul (rec l-0) w l-1 (rec l-2)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-2)))
      (send
        (sig (body self (exp (gen) l-2) (pubk "sig" self))
          (privk "sig" self)))))
  (label 259)
  (parent 211)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (w expt)
    (l-0 l-1 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w l-0)))
  (deflistener (cat (exp (gen) l-2) (mul w l-0 l-1 (rec l-2))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-2))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-1 l-2)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w l-0 l-1))
    (l-1 (mul w l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w l-0)) (mul w l-0)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0 l-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0 l-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w l-0)))
      (send (cat (exp (gen) y) (mul w l-0))))
    ((recv (cat (exp (gen) l-2) (mul w l-0 l-1 (rec l-2))))
      (send (cat (exp (gen) l-2) (mul w l-0 l-1 (rec l-2)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-2)))
      (send
        (sig (body self (exp (gen) l-2) (pubk "sig" self))
          (privk "sig" self)))))
  (label 260)
  (parent 211)
  (unrealized (0 0) (4 1) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (3 2)) ((1 2) (8 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (1 3)) ((3 3) (6 0)) ((4 1) (1 0)) ((4 1) (7 0))
    ((4 2) (3 1)) ((5 1) (0 0)) ((6 1) (5 0)) ((7 2) (6 0))
    ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((4 1) (1 0)) ((4 1) (7 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 261)
  (parent 224)
  (unrealized (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (3 2)) ((1 2) (8 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (1 3)) ((3 3) (6 0)) ((4 1) (1 0)) ((4 1) (7 0))
    ((4 2) (3 1)) ((5 1) (0 0)) ((6 1) (5 0)) ((7 2) (6 0))
    ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((4 1) (1 0)) ((4 1) (7 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 262)
  (parent 224)
  (unrealized (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (6 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (1 3)) ((4 3) (7 0))
    ((5 1) (4 1)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 263)
  (parent 225)
  (unrealized (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (8 0)) ((2 1) (1 0)) ((2 1) (6 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (1 3)) ((4 3) (7 0))
    ((5 1) (4 1)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 264)
  (parent 225)
  (unrealized (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) l-0) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (1 3))
    ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0)) ((5 1) (8 0))
    ((5 2) (4 0)) ((6 1) (0 0)) ((7 1) (6 0)) ((8 2) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (7 0)
    (ch-msg priv-stor-0 (cat pt-2 (pv self l-0))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) l-0) (one)))
      (send (cat (exp (gen) l-0) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0)))
  (label 265)
  (parent 226)
  (unrealized (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0)) ((5 1) (1 3))
    ((6 1) (5 0)) ((7 2) (6 0)) ((8 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l) (y x))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener (cat (exp (gen) y) (exp (gen) (mul l x))))
    (hash (exp (gen) y) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (gen) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (rec l-0)))
      (send (cat (exp (gen) y) (rec l-0)))) ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) y) (exp (gen) (mul l x))))
      (send (cat (exp (gen) y) (exp (gen) (mul l x))))))
  (label 266)
  (parent 228)
  (unrealized (8 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (1 0)) ((5 1) (8 0))
    ((5 2) (3 1)) ((6 1) (0 0)) ((7 1) (6 0)) ((8 2) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (7 0)
    (ch-msg priv-stor-0 (cat pt-2 (pv self l-0))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0)))
  (label 267)
  (parent 229)
  (unrealized (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (x-0 l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul l l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l l-0)))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor) (l l)
    (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y (mul l l-0)) (y l-0) (x-0 beta)
    (x-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 3 ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul l l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) x-0) (mul (rec x-0) l l-0)))
      (send (cat (exp (gen) x-0) (mul (rec x-0) l l-0))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 268)
  (parent 231)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta expt) (x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-0)))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (x-0 beta) (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (w (mul (rec x-0) l-0)) (x-1 x-0) (l-1 l-0)) (one)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-0)))
      (send (cat (exp (gen) x-0) (mul (rec x-0) l-0))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 269)
  (parent 231)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b b-0 self name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (x-0 l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-0 l-1)))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (x-0 beta)
    (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-0 l-1)))
      (send (cat (exp (gen) x-0) (mul (rec x-0) l-0 l-1))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))))
  (label 270)
  (parent 231)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta w expt) (x-0 x-1 l-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0)))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 (rec x-1) l-0)))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-1)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w x-0 l-0)) (x-1 beta)
    (x-1 l-0) (l-0 (mul w x-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w x-0)) (mul w x-0)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w x-0 l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w x-0 l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-0))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-0))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w x-0)))
      (send (cat (exp (gen) y) (mul w x-0))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 (rec x-1) l-0)))
      (send (cat (exp (gen) x-1) (mul w x-0 (rec x-1) l-0))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-1)))))
  (label 271)
  (parent 231)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta w expt) (l-0 x-0 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l-0) l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w (rec l-0) l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0))))
  (deflistener (cat (exp (gen) x-0) (mul w (rec l-0) (rec x-0) l-1)))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-1) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w (rec l-0) l-1)) (x-0 beta)
    (x-0 (mul w (rec l-0))) (x-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-0 (mul w (rec l-0)))
    (mul w (rec l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l-0) l-1)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w (rec l-0) l-1))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) l-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w (rec l-0) l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) l-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0))))
      (send (cat (exp (gen) y) (mul w (rec l-0)))))
    ((recv (cat (exp (gen) x-0) (mul w (rec l-0) (rec x-0) l-1)))
      (send (cat (exp (gen) x-0) (mul w (rec l-0) (rec x-0) l-1))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 272)
  (parent 231)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-0 l-0)))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y l) (y (mul l-0 l-0)) (x-0 beta)
    (x-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 2 ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-0 l-0)))
      (send (cat (exp (gen) x-0) (mul (rec x-0) l-0 l-0))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 273)
  (parent 232)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l l-0 x-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y l) (y l-0) (x-0 beta) (x-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (l-1 l-0) (w (mul l-0 (rec x-0))) (x-1 x-0)) (one)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0))))
      (send (cat (exp (gen) x-0) (mul l-0 (rec x-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 274)
  (parent 232)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b b-0 self name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x y rndx) (beta expt)
    (l l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0) l-1)))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y l) (y (mul l-0 l-1)) (x-0 beta)
    (x-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0) l-1)))
      (send (cat (exp (gen) x-0) (mul l-0 (rec x-0) l-1))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))))
  (label 275)
  (parent 232)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l rndx) (w expt) (l-0 l-1 x-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w l-1)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-0) (eta (mul y (rec l) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul (rec l) w l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w)))
  (deflistener (cat (exp (gen) x-0) (mul (rec l) w l-1 (rec x-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l-0) (x l-1) (y x) (y (mul (rec l) w l-1)) (y l-0)
    (x-0 beta) (x-0 (mul (rec l) w)) (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-0 (mul (rec l) w))
    (mul (rec l) w) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w l-1)) (exp (gen) (mul x l-0))))
      (send
        (hash (exp (gen) (mul y (rec l) w l-1))
          (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-1))
              (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul (rec l) w l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-1))
              (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w)))
      (send (cat (exp (gen) y) (mul (rec l) w))))
    ((recv (cat (exp (gen) x-0) (mul (rec l) w l-1 (rec x-0))))
      (send (cat (exp (gen) x-0) (mul (rec l) w l-1 (rec x-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 276)
  (parent 232)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta w expt) (x-0 l l-0 x-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0)))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 l-0 (rec x-1))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-1)
  (absent (x l) (x l-0) (y x) (y (mul w x-0 l-0)) (y l)
    (l-0 (mul w x-0)) (x-1 beta) (x-1 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w x-0)) (mul w x-0)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w x-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y w x-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-0))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-0))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) (mul w x-0)))
      (send (cat (exp (gen) y) (mul w x-0))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 l-0 (rec x-1))))
      (send (cat (exp (gen) x-1) (mul w x-0 l-0 (rec x-1)))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-1)))))
  (label 277)
  (parent 232)
  (unrealized (0 0) (4 1) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x y rndx) (beta expt)
    (l l-0 x-0 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l-1))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l-1) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-1))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-1) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) x-0) (mul l-0 (rec x-0) l-1)))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l-0) (x l-1) (y x) (y (mul l-0 l-1)) (y l-1) (x-0 beta)
    (x-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l-1) (pv a-0 l))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l-1))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 3 ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l-1))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1))
              (exp (gen) (mul x l-1)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-1)))
      (send
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1))
              (exp (gen) (mul x l-1)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) x-0) (mul l-0 (rec x-0) l-1)))
      (send (cat (exp (gen) x-0) (mul l-0 (rec x-0) l-1))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l)))))
  (label 278)
  (parent 233)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-1 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) x-0) (mul (rec x-0) l-1 l-1)))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul l-1 l-1)) (x-0 beta)
    (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 2 ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-1 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) x-0) (mul (rec x-0) l-1 l-1)))
      (send (cat (exp (gen) x-0) (mul (rec x-0) l-1 l-1))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-0)))))
  (label 279)
  (parent 233)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 l-1 x-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-1) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y l-1) (x-0 beta) (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (l-2 l-1) (w (mul l-1 (rec x-0))) (x-1 x-0)) (one)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0))))
      (send (cat (exp (gen) x-0) (mul l-1 (rec x-0)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-0)))))
  (label 280)
  (parent 233)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 data)
    (a b a-0 b-0 self name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn) (l x y rndx)
    (beta expt) (l-0 l-1 x-0 l-2 rndx))
  (deflistener (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y l-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-1 l-2)) (chi x))
  (deflistener (cat (exp (gen) y) l-2))
  (deflistener (cat (exp (gen) x-0) (mul l-1 (rec x-0) l-2)))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-0))
  (defstrand ltx-gen 2 (ignore ignore-2) (self self)
    (priv-stor priv-stor-2) (l l-2))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1 l-2)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul l-1 l-2)) (x-0 beta)
    (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-2))
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-1 l-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-2)) (send (cat (exp (gen) y) l-2)))
    ((recv (cat (exp (gen) x-0) (mul l-1 (rec x-0) l-2)))
      (send (cat (exp (gen) x-0) (mul l-1 (rec x-0) l-2))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-0))))
    ((load priv-stor-2 (cat pt-5 ignore-2))
      (stor priv-stor-2 (cat pt-6 (pv self l-2)))))
  (label 281)
  (parent 233)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 rndx) (w expt) (l-1 l-2 x-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w l-2)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w l-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w)))
  (deflistener (cat (exp (gen) x-0) (mul (rec l-0) w l-2 (rec x-0))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1 l-2)
  (uniq-gen x y x-0)
  (absent (x l) (x l-2) (y l) (y x) (y (mul (rec l-0) w l-2)) (x-0 beta)
    (x-0 (mul (rec l-0) w)) (x-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-0 (mul (rec l-0) w))
    (mul (rec l-0) w) (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w l-2)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w l-2))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-2))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul (rec l-0) w l-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-2))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w)))
      (send (cat (exp (gen) y) (mul (rec l-0) w))))
    ((recv (cat (exp (gen) x-0) (mul (rec l-0) w l-2 (rec x-0))))
      (send (cat (exp (gen) x-0) (mul (rec l-0) w l-2 (rec x-0)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 282)
  (parent 233)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta w expt)
    (x-0 l-0 l-1 x-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0)))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 l-1 (rec x-1))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-1) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-1)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w x-0 l-1))
    (l-1 (mul w x-0)) (x-1 beta) (x-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w x-0)) (mul w x-0)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y w x-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w x-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w x-0)))
      (send (cat (exp (gen) y) (mul w x-0))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 l-1 (rec x-1))))
      (send (cat (exp (gen) x-1) (mul w x-0 l-1 (rec x-1)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-1))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-0)))))
  (label 283)
  (parent 233)
  (unrealized (0 0) (4 1) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y rndx)
    (w expt) (l l-0 l-1 l-2 x rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l) l-1 x)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l-0) (eta (mul y w (rec l) l-1 (rec l-2) x)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul w (rec l) l-1 x)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l) l-1 (rec l-2) x)))
  (deflistener (cat (exp (gen) x) (mul w (rec l) l-1)))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-0 l-2)
  (uniq-gen y x)
  (absent (y (mul w (rec l) l-1 x)) (y l-0) (y x)
    (x (mul w (rec l) l-1)) (x (mul w (rec l) l-1 (rec l-2) x)) (x l-0)
    (x l-2))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x (mul w (rec l) l-1))
    (mul w (rec l) l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l) l-1 x))
         (exp (gen) (mul l-0 x))))
      (send
        (hash (exp (gen) (mul y w (rec l) l-1 x))
          (exp (gen) (mul l-0 x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l) l-1 (rec l-2) x))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l) l-1 x))
              (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul w (rec l) l-1 x)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l) l-1 x))
              (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l) l-1 (rec l-2) x)))
      (send (cat (exp (gen) y) (mul w (rec l) l-1 (rec l-2) x))))
    ((recv (cat (exp (gen) x) (mul w (rec l) l-1)))
      (send (cat (exp (gen) x) (mul w (rec l) l-1)))))
  (label 284)
  (parent 236)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y rndx)
    (w expt) (l l-0 x l-1 x-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l) (rec x) x-0))
      (exp (gen) (mul l-0 x-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x-0) (beta l-0)
    (eta (mul y w (rec l) (rec x) (rec l-1) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul w (rec l) (rec x) x-0)) (chi x-0))
  (deflistener
    (cat (exp (gen) y) (mul w (rec l) (rec x) (rec l-1) x-0)))
  (deflistener (cat (exp (gen) x-0) (mul w (rec l) (rec x))))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-0 l-1)
  (uniq-gen y x-0)
  (absent (y (mul w (rec l) (rec x) x-0)) (y l-0) (y x-0)
    (l-1 (mul w (rec l) (rec x)))
    (x-0 (mul w (rec l) (rec x) (rec l-1) x-0)) (x-0 l-0) (x-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-0))
  (facts (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w (rec l) (rec x)))
    (mul w (rec l) (rec x)) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l) (rec x) x-0))
         (exp (gen) (mul l-0 x-0))))
      (send
        (hash (exp (gen) (mul y w (rec l) (rec x) x-0))
          (exp (gen) (mul l-0 x-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x-0)))
      (recv
        (cat (exp (gen) (mul y w (rec l) (rec x) (rec l-1) x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l) (rec x) x-0))
              (exp (gen) (mul l-0 x-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig
          (body a (exp (gen) (mul w (rec l) (rec x) x-0))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x-0)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l) (rec x) x-0))
              (exp (gen) (mul l-0 x-0)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l) (rec x) (rec l-1) x-0)))
      (send (cat (exp (gen) y) (mul w (rec l) (rec x) (rec l-1) x-0))))
    ((recv (cat (exp (gen) x-0) (mul w (rec l) (rec x))))
      (send (cat (exp (gen) x-0) (mul w (rec l) (rec x))))))
  (label 285)
  (parent 236)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y rndx)
    (w expt) (l x l-0 l-1 x-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x l-0 x-0)) (exp (gen) (mul l x-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x-0) (beta l) (eta (mul y w x l-0 (rec l-1) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x l-0 x-0)) (chi x-0))
  (deflistener (cat (exp (gen) y) (mul w x l-0 (rec l-1) x-0)))
  (deflistener (cat (exp (gen) x-0) (mul w x l-0)))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-1)
  (uniq-gen y x-0)
  (absent (y (mul w x l-0 x-0)) (y l) (y x-0)
    (l-1 (mul w x l-0 (rec l-1) x-0)) (x-0 (mul w x l-0)) (x-0 l)
    (x-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-0 (mul w x l-0)) (mul w x l-0)
    (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y w x l-0 x-0)) (exp (gen) (mul l x-0))))
      (send
        (hash (exp (gen) (mul y w x l-0 x-0)) (exp (gen) (mul l x-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x-0)))
      (recv
        (cat (exp (gen) (mul y w x l-0 (rec l-1) x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w x l-0 x-0))
              (exp (gen) (mul l x-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x l-0 x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x-0)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x l-0 x-0))
              (exp (gen) (mul l x-0)))))))
    ((recv (cat (exp (gen) y) (mul w x l-0 (rec l-1) x-0)))
      (send (cat (exp (gen) y) (mul w x l-0 (rec l-1) x-0))))
    ((recv (cat (exp (gen) x-0) (mul w x l-0)))
      (send (cat (exp (gen) x-0) (mul w x l-0)))))
  (label 286)
  (parent 237)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (y rndx)
    (w expt) (l x x-0 l-0 x-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x (rec x-0) x-1))
      (exp (gen) (mul l x-1))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x-1) (beta l) (eta (mul y w x (rec x-0) (rec l-0) x-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x (rec x-0) x-1)) (chi x-1))
  (deflistener (cat (exp (gen) y) (mul w x (rec x-0) (rec l-0) x-1)))
  (deflistener (cat (exp (gen) x-1) (mul w x (rec x-0))))
  (precedes ((1 2) (6 0)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x-1)
  (absent (y (mul w x (rec x-0) x-1)) (y l) (y x-1)
    (l-0 (mul w x (rec x-0))) (l-0 (mul w x (rec x-0) (rec l-0) x-1))
    (x-1 l) (x-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w x (rec x-0)))
    (mul w x (rec x-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y w x (rec x-0) x-1))
         (exp (gen) (mul l x-1))))
      (send
        (hash (exp (gen) (mul y w x (rec x-0) x-1))
          (exp (gen) (mul l x-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x-1)))
      (recv
        (cat (exp (gen) (mul y w x (rec x-0) (rec l-0) x-1))
          (enc na nb a b
            (hash (exp (gen) (mul y w x (rec x-0) x-1))
              (exp (gen) (mul l x-1)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x (rec x-0) x-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x-1)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x (rec x-0) x-1))
              (exp (gen) (mul l x-1)))))))
    ((recv (cat (exp (gen) y) (mul w x (rec x-0) (rec l-0) x-1)))
      (send (cat (exp (gen) y) (mul w x (rec x-0) (rec l-0) x-1))))
    ((recv (cat (exp (gen) x-1) (mul w x (rec x-0))))
      (send (cat (exp (gen) x-1) (mul w x (rec x-0))))))
  (label 287)
  (parent 237)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (gen) (mul l-0 l-0)))
  (deflistener l-0)
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener l-0) (mul l-0 l-0) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (gen) (mul l-0 l-0))) (send (cat (gen) (mul l-0 l-0))))
    ((recv l-0) (send l-0)))
  (label 288)
  (parent 239)
  (unrealized (0 0) (7 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 289)
  (parent 240)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (l-0 (one)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 2 ltx-gen 2) l-1 (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0))))
  (label 290)
  (parent 242)
  (unrealized (0 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0))))
  (deflistener (cat (gen) w))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w) (l-0 w)
    (l-0 (mul w (rec l-0))))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 w) w (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (exp (gen) w) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0))))
      (send (cat (exp (gen) y) (mul w (rec l-0)))))
    ((recv (cat (gen) w)) (send (cat (gen) w))))
  (label 291)
  (parent 242)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (gen) (mul w l-0)))
  (deflistener l-0)
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)) (l-0 w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener l-0) (mul w l-0) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (gen) (mul w l-0))) (send (cat (gen) (mul w l-0))))
    ((recv l-0) (send l-0)))
  (label 292)
  (parent 242)
  (unrealized (0 0) (7 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y rndx) (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0))))
  (deflistener (cat (gen) w))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (5 0)) ((8 2) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (7 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (exp (gen) w) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0))))
      (send (cat (exp (gen) y) (mul w (rec l-0)))))
    ((recv (cat (gen) w)) (send (cat (gen) w))) ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 293)
  (parent 243)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x y rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-0)
    (eta (mul (rec l) y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l)))
  (deflistener (cat (exp (gen) l) (rec l)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul l-0 x))))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l-0) (y x))
  (precur (4 0) (5 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b self) (neq self b) (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 3 resp 4) (exp (gen) y-0) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb self b
            (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (gen) (pubk "sig" self)) (privk "sig" self)))
      (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (rec l)))
      (send (cat (exp (gen) y) (rec l))))
    ((recv (cat (exp (gen) l) (rec l)))
      (send (cat (exp (gen) l) (rec l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) y) (exp (gen) (mul l-0 x))))))
  (label 294)
  (parent 244)
  (unrealized (1 3) (4 0) (5 0) (7 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (w expt) (l-0 rndx) (w-0 expt))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (exp (gen) l-0) w))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y w l-0 (rec w-0))) w-0))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul y w l-0 (rec w-0))) w-0))
    (exp (gen) (mul y w l-0)) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb self b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w l-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (exp (gen) l-0) w)) (send (cat (exp (gen) l-0) w)))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y w l-0 (rec w-0))) w-0))
      (send (cat (exp (gen) (mul y w l-0 (rec w-0))) w-0))))
  (label 295)
  (parent 244)
  (unrealized (7 0) (8 0))
  (comment "8 in cohort - 8 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (y-0 l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l) (x x) (beta l-0) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul l l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l l-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y (mul l l-0)) (y l-0) (y-0 alpha)
    (y-0 chi) (y-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l) (pv b l-0))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 3 ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul l l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) y-0) (mul (rec y-0) l l-0)))
      (send (cat (exp (gen) y-0) (mul (rec y-0) l l-0))))
    ((load priv-stor (cat pt (pv a l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l))))))))
  (label 296)
  (parent 245)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi expt) (y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (y-0 alpha) (y-0 chi)
    (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (w (mul (rec y-0) l-0)) (y-1 y-0) (l-1 l-0)) (one)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-0)))
      (send (cat (exp (gen) y-0) (mul (rec y-0) l-0))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 297)
  (parent 245)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 self name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (y-0 l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-0 l-1)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (y-0 alpha)
    (y-0 chi) (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-0 l-1)))
      (send (cat (exp (gen) y-0) (mul (rec y-0) l-0 l-1))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))))
  (label 298)
  (parent 245)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi w expt) (y-0 y-1 l-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0)))
  (deflistener (cat (exp (gen) y-1) (mul w y-0 (rec y-1) l-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-1)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w y-0 l-0)) (y-1 alpha)
    (y-1 chi) (y-1 l-0) (l-0 (mul w y-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w y-0)) (mul w y-0)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w y-0 l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w y-0 l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-0))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-0))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w y-0)))
      (send (cat (exp (gen) y) (mul w y-0))))
    ((recv (cat (exp (gen) y-1) (mul w y-0 (rec y-1) l-0)))
      (send (cat (exp (gen) y-1) (mul w y-0 (rec y-1) l-0))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-0))))))))
  (label 299)
  (parent 245)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi w expt) (l-0 y-0 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l-0) l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w (rec l-0) l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0))))
  (deflistener (cat (exp (gen) y-0) (mul w (rec l-0) (rec y-0) l-1)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-1) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w (rec l-0) l-1))
    (y-0 alpha) (y-0 chi) (y-0 (mul w (rec l-0))) (y-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-0 (mul w (rec l-0)))
    (mul w (rec l-0)) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l-0) l-1)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w (rec l-0) l-1))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) l-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w (rec l-0) l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) l-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0))))
      (send (cat (exp (gen) y) (mul w (rec l-0)))))
    ((recv (cat (exp (gen) y-0) (mul w (rec l-0) (rec y-0) l-1)))
      (send (cat (exp (gen) y-0) (mul w (rec l-0) (rec y-0) l-1))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-1))))))))
  (label 300)
  (parent 245)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-0 l-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y l) (y (mul l-0 l-0)) (y-0 alpha)
    (y-0 chi) (y-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 2 ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-0 l-0)))
      (send (cat (exp (gen) y-0) (mul (rec y-0) l-0 l-0))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l))))))))
  (label 301)
  (parent 246)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l l-0 y-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y l) (y l-0) (y-0 alpha) (y-0 chi)
    (y-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (l-1 l-0) (w (mul l-0 (rec y-0))) (y-1 y-0)) (one)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0))))
      (send (cat (exp (gen) y-0) (mul l-0 (rec y-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l))))))))
  (label 302)
  (parent 246)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 self name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x y rndx) (alpha chi expt)
    (l l-0 y-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0) l-1)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)) ((8 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y l) (y (mul l-0 l-1)) (y-0 alpha)
    (y-0 chi) (y-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-1 (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0) l-1)))
      (send (cat (exp (gen) y-0) (mul l-0 (rec y-0) l-1))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l)))))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))))
  (label 303)
  (parent 246)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l rndx) (w expt) (l-0 l-1 y-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w l-1)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-0) (eta (mul y (rec l) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul (rec l) w l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w)))
  (deflistener (cat (exp (gen) y-0) (mul (rec l) w l-1 (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l-0) (x l-1) (y x) (y (mul (rec l) w l-1)) (y l-0)
    (y-0 alpha) (y-0 chi) (y-0 (mul (rec l) w)) (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-0 (mul (rec l) w))
    (mul (rec l) w) (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w l-1)) (exp (gen) (mul x l-0))))
      (send
        (hash (exp (gen) (mul y (rec l) w l-1))
          (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-1))
              (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul (rec l) w l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-1))
              (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w)))
      (send (cat (exp (gen) y) (mul (rec l) w))))
    ((recv (cat (exp (gen) y-0) (mul (rec l) w l-1 (rec y-0))))
      (send (cat (exp (gen) y-0) (mul (rec l) w l-1 (rec y-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 304)
  (parent 246)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi w expt) (y-0 l l-0 y-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0)))
  (deflistener (cat (exp (gen) y-1) (mul w y-0 l-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-1)
  (absent (x l) (x l-0) (y x) (y (mul w y-0 l-0)) (y l)
    (l-0 (mul w y-0)) (y-1 alpha) (y-1 chi) (y-1 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w y-0)) (mul w y-0)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w y-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y w y-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-0))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-0))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) (mul w y-0)))
      (send (cat (exp (gen) y) (mul w y-0))))
    ((recv (cat (exp (gen) y-1) (mul w y-0 l-0 (rec y-1))))
      (send (cat (exp (gen) y-1) (mul w y-0 l-0 (rec y-1)))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l))))))))
  (label 305)
  (parent 246)
  (unrealized (0 0) (4 1) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (x y rndx) (alpha chi expt)
    (l l-0 y-0 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l-1))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l-1) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-1))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-1) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) y-0) (mul l-0 (rec y-0) l-1)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l-0) (x l-1) (y x) (y (mul l-0 l-1)) (y l-1) (y-0 alpha)
    (y-0 chi) (y-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l-1) (pv b-0 l))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l-1))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 3 ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l-1))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul x l-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1))
              (exp (gen) (mul x l-1)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-1)))
      (send
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-1)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1))
              (exp (gen) (mul x l-1)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) y-0) (mul l-0 (rec y-0) l-1)))
      (send (cat (exp (gen) y-0) (mul l-0 (rec y-0) l-1))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l)))))
  (label 306)
  (parent 247)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 y-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-1 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) y-0) (mul (rec y-0) l-1 l-1)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul l-1 l-1)) (y-0 alpha)
    (y-0 chi) (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 2 ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-1 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) y-0) (mul (rec y-0) l-1 l-1)))
      (send (cat (exp (gen) y-0) (mul (rec y-0) l-1 l-1))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-0)))))
  (label 307)
  (parent 247)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 l-1 y-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-1) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y l-1) (y-0 alpha) (y-0 chi)
    (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (l-2 l-1) (w (mul l-1 (rec y-0))) (y-1 y-0)) (one)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-1) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0))))
      (send (cat (exp (gen) y-0) (mul l-1 (rec y-0)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-0)))))
  (label 308)
  (parent 247)
  (unrealized (0 0) (4 1) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 ignore-2 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 self name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 priv-stor-2 locn) (l x y rndx)
    (alpha chi expt) (l-0 l-1 y-0 l-2 rndx))
  (deflistener (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y l-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-1 l-2)) (chi x))
  (deflistener (cat (exp (gen) y) l-2))
  (deflistener (cat (exp (gen) y-0) (mul l-1 (rec y-0) l-2)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-0))
  (defstrand ltx-gen 2 (ignore ignore-2) (self self)
    (priv-stor priv-stor-2) (l l-2))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)) ((9 1) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1 l-2)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul l-1 l-2)) (y-0 alpha)
    (y-0 chi) (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 2) l-2 (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-2))
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-1 l-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-1 l-2)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-2)) (send (cat (exp (gen) y) l-2)))
    ((recv (cat (exp (gen) y-0) (mul l-1 (rec y-0) l-2)))
      (send (cat (exp (gen) y-0) (mul l-1 (rec y-0) l-2))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-0))))
    ((load priv-stor-2 (cat pt-5 ignore-2))
      (stor priv-stor-2 (cat pt-6 (pv self l-2)))))
  (label 309)
  (parent 247)
  (unrealized (0 0) (4 1) (5 0) (6 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 rndx) (w expt) (l-1 l-2 y-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w l-2)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y (rec l-0) w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w l-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w)))
  (deflistener (cat (exp (gen) y-0) (mul (rec l-0) w l-2 (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1 l-2)
  (uniq-gen x y y-0)
  (absent (x l) (x l-2) (y l) (y x) (y (mul (rec l-0) w l-2))
    (y-0 alpha) (y-0 chi) (y-0 (mul (rec l-0) w)) (y-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-0 (mul (rec l-0) w))
    (mul (rec l-0) w) (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w l-2)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w l-2))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-2))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul (rec l-0) w l-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-2))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w)))
      (send (cat (exp (gen) y) (mul (rec l-0) w))))
    ((recv (cat (exp (gen) y-0) (mul (rec l-0) w l-2 (rec y-0))))
      (send (cat (exp (gen) y-0) (mul (rec l-0) w l-2 (rec y-0)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 310)
  (parent 247)
  (unrealized (0 0) (4 1) (6 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi w expt) (y-0 l-0 l-1 y-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0)))
  (deflistener (cat (exp (gen) y-1) (mul w y-0 l-1 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-1) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-1)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w y-0 l-1))
    (l-1 (mul w y-0)) (y-1 alpha) (y-1 chi) (y-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w y-0)) (mul w y-0)
    (5 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y w y-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w y-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w y-0)))
      (send (cat (exp (gen) y) (mul w y-0))))
    ((recv (cat (exp (gen) y-1) (mul w y-0 l-1 (rec y-1))))
      (send (cat (exp (gen) y-1) (mul w y-0 l-1 (rec y-1)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-0)))))
  (label 311)
  (parent 247)
  (unrealized (0 0) (4 1) (6 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l))
  (deflistener (cat (exp (gen) l) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y l) (y (mul l l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) l)) (send (cat (exp (gen) y) l)))
    ((recv (cat (exp (gen) l) l-0)) (send (cat (exp (gen) l) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 312)
  (parent 248)
  (unrealized (0 0) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y l rndx)
    (w expt) (l-0 l-1 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w l-0 l-2))
      (exp (gen) (mul x l-2))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-2) (eta (mul y (rec l) w l-0 (rec l-1) l-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-2))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-2) (y y) (alpha (mul (rec l) w l-0 l-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w l-0 (rec l-1) l-2)))
  (deflistener (cat (exp (gen) l-2) (mul (rec l) w l-0)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-1 l-2)
  (uniq-gen x y)
  (absent (x l-1) (x l-2) (y x) (y (mul (rec l) w l-0 l-2)) (y l-2)
    (l-2 (mul (rec l) w l-0)) (l-2 (mul (rec l) w l-0 (rec l-1) l-2)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-2))
  (facts (neq b a) (neq a b) (undisclosed l-2))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-2 (mul (rec l) w l-0))
    (mul (rec l) w l-0) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w l-0 l-2))
         (exp (gen) (mul x l-2))))
      (send
        (hash (exp (gen) (mul y (rec l) w l-0 l-2))
          (exp (gen) (mul x l-2)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w l-0 (rec l-1) l-2))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-0 l-2))
              (exp (gen) (mul x l-2)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-2)))
      (send
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-2)))
      (recv
        (sig (body a (exp (gen) (mul (rec l) w l-0 l-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-0 l-2))
              (exp (gen) (mul x l-2)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w l-0 (rec l-1) l-2)))
      (send (cat (exp (gen) y) (mul (rec l) w l-0 (rec l-1) l-2))))
    ((recv (cat (exp (gen) l-2) (mul (rec l) w l-0)))
      (send (cat (exp (gen) l-2) (mul (rec l) w l-0)))))
  (label 313)
  (parent 252)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y l rndx)
    (w expt) (l-0 l-1 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w (rec l-0) l-2))
      (exp (gen) (mul x l-2))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-2)
    (eta (mul y (rec l) w (rec l-0) (rec l-1) l-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-2))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-2) (y y) (alpha (mul (rec l) w (rec l-0) l-2)) (chi x))
  (deflistener
    (cat (exp (gen) y) (mul (rec l) w (rec l-0) (rec l-1) l-2)))
  (deflistener (cat (exp (gen) l-2) (mul (rec l) w (rec l-0))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-1 l-2)
  (uniq-gen x y)
  (absent (x l-1) (x l-2) (y x) (y (mul (rec l) w (rec l-0) l-2))
    (y l-2) (l-1 (mul (rec l) w (rec l-0)))
    (l-2 (mul (rec l) w (rec l-0) (rec l-1) l-2)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-2))
  (facts (neq b a) (neq a b) (undisclosed l-2))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul (rec l) w (rec l-0)))
    (mul (rec l) w (rec l-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w (rec l-0) l-2))
         (exp (gen) (mul x l-2))))
      (send
        (hash (exp (gen) (mul y (rec l) w (rec l-0) l-2))
          (exp (gen) (mul x l-2)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w (rec l-0) (rec l-1) l-2))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w (rec l-0) l-2))
              (exp (gen) (mul x l-2)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-2)))
      (send
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-2)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l) w (rec l-0) l-2))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w (rec l-0) l-2))
              (exp (gen) (mul x l-2)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w (rec l-0) (rec l-1) l-2)))
      (send
        (cat (exp (gen) y) (mul (rec l) w (rec l-0) (rec l-1) l-2))))
    ((recv (cat (exp (gen) l-2) (mul (rec l) w (rec l-0))))
      (send (cat (exp (gen) l-2) (mul (rec l) w (rec l-0))))))
  (label 314)
  (parent 252)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l))
  (deflistener (cat (exp (gen) l) l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0))
    ((5 1) (1 3)) ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y l) (y (mul l l-0)) (l-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 7 2 ltx-gen 2) l-1 (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) l)) (send (cat (exp (gen) y) l)))
    ((recv (cat (exp (gen) l) l-0)) (send (cat (exp (gen) l) l-0))))
  (label 315)
  (parent 253)
  (unrealized (0 0) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (w expt) (l l-0 l-1 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w l l-0 l-2)) (exp (gen) (mul x l-2))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-2) (eta (mul y w l l-0 (rec l-1) l-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-2))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-2) (y y) (alpha (mul w l l-0 l-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w l l-0 (rec l-1) l-2)))
  (deflistener (cat (exp (gen) l-2) (mul w l l-0)))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-1 l-2)
  (uniq-gen x y)
  (absent (x l-1) (x l-2) (y x) (y (mul w l l-0 l-2)) (y l-2)
    (l-1 (mul w l l-0 (rec l-1) l-2)) (l-2 (mul w l l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-2))
  (facts (neq b a) (neq a b) (undisclosed l-2))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-2 (mul w l l-0)) (mul w l l-0)
    (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y w l l-0 l-2)) (exp (gen) (mul x l-2))))
      (send
        (hash (exp (gen) (mul y w l l-0 l-2)) (exp (gen) (mul x l-2)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w l l-0 (rec l-1) l-2))
          (enc na nb a b
            (hash (exp (gen) (mul y w l l-0 l-2))
              (exp (gen) (mul x l-2)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-2)))
      (send
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-2)))
      (recv
        (sig (body a (exp (gen) (mul w l l-0 l-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l l-0 l-2))
              (exp (gen) (mul x l-2)))))))
    ((recv (cat (exp (gen) y) (mul w l l-0 (rec l-1) l-2)))
      (send (cat (exp (gen) y) (mul w l l-0 (rec l-1) l-2))))
    ((recv (cat (exp (gen) l-2) (mul w l l-0)))
      (send (cat (exp (gen) l-2) (mul w l l-0)))))
  (label 316)
  (parent 253)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (w expt) (l l-0 l-1 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w l (rec l-0) l-2))
      (exp (gen) (mul x l-2))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-2) (eta (mul y w l (rec l-0) (rec l-1) l-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-2))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-2) (y y) (alpha (mul w l (rec l-0) l-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w l (rec l-0) (rec l-1) l-2)))
  (deflistener (cat (exp (gen) l-2) (mul w l (rec l-0))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l-1 l-2)
  (uniq-gen x y)
  (absent (x l-1) (x l-2) (y x) (y (mul w l (rec l-0) l-2)) (y l-2)
    (l-1 (mul w l (rec l-0))) (l-1 (mul w l (rec l-0) (rec l-1) l-2)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-2))
  (facts (neq b a) (neq a b) (undisclosed l-2))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w l (rec l-0)))
    (mul w l (rec l-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv
       (hash (exp (gen) (mul y w l (rec l-0) l-2))
         (exp (gen) (mul x l-2))))
      (send
        (hash (exp (gen) (mul y w l (rec l-0) l-2))
          (exp (gen) (mul x l-2)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w l (rec l-0) (rec l-1) l-2))
          (enc na nb a b
            (hash (exp (gen) (mul y w l (rec l-0) l-2))
              (exp (gen) (mul x l-2)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-2)))
      (send
        (sig (body b (exp (gen) l-2) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-2)))
      (recv
        (sig (body a (exp (gen) (mul w l (rec l-0) l-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l (rec l-0) l-2))
              (exp (gen) (mul x l-2)))))))
    ((recv (cat (exp (gen) y) (mul w l (rec l-0) (rec l-1) l-2)))
      (send (cat (exp (gen) y) (mul w l (rec l-0) (rec l-1) l-2))))
    ((recv (cat (exp (gen) l-2) (mul w l (rec l-0))))
      (send (cat (exp (gen) l-2) (mul w l (rec l-0))))))
  (label 317)
  (parent 253)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) l-0) l-1))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)) ((8 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-1 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-1))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-1)))
      (stor priv-stor (cat pt-5 "nil")) (send l-1)))
  (label 318)
  (parent 258)
  (unrealized (0 0) (5 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx) (w expt)
    (l-1 l-2 l-3 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w l-1 l-3))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y (rec l-0) w l-1 (rec l-2) l-3)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w l-1 l-3)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w l-1 (rec l-2) l-3)))
  (deflistener (cat (exp (gen) l-3) (mul (rec l-0) w l-1)))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-3))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-2 l-3)
  (uniq-gen x y)
  (absent (x l) (x l-2) (y l) (y x) (y (mul (rec l-0) w l-1 l-3))
    (l-3 (mul (rec l-0) w l-1))
    (l-3 (mul (rec l-0) w l-1 (rec l-2) l-3)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-3 (mul (rec l-0) w l-1))
    (mul (rec l-0) w l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w l-1 l-3))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w l-1 l-3))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w l-1 (rec l-2) l-3))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-1 l-3))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l-0) w l-1 l-3)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-1 l-3))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w l-1 (rec l-2) l-3)))
      (send (cat (exp (gen) y) (mul (rec l-0) w l-1 (rec l-2) l-3))))
    ((recv (cat (exp (gen) l-3) (mul (rec l-0) w l-1)))
      (send (cat (exp (gen) l-3) (mul (rec l-0) w l-1))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-3)))
      (send
        (sig (body self (exp (gen) l-3) (pubk "sig" self))
          (privk "sig" self)))))
  (label 319)
  (parent 259)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 rndx) (w expt)
    (l-1 l-2 l-3 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w (rec l-1) l-3))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l)
    (eta (mul y (rec l-0) w (rec l-1) (rec l-2) l-3)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w (rec l-1) l-3)) (chi x))
  (deflistener
    (cat (exp (gen) y) (mul (rec l-0) w (rec l-1) (rec l-2) l-3)))
  (deflistener (cat (exp (gen) l-3) (mul (rec l-0) w (rec l-1))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-3))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-2 l-3)
  (uniq-gen x y)
  (absent (x l) (x l-2) (y l) (y x) (y (mul (rec l-0) w (rec l-1) l-3))
    (l-2 (mul (rec l-0) w (rec l-1)))
    (l-3 (mul (rec l-0) w (rec l-1) (rec l-2) l-3)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-2 (mul (rec l-0) w (rec l-1)))
    (mul (rec l-0) w (rec l-1)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w (rec l-1) l-3))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w (rec l-1) l-3))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w (rec l-1) (rec l-2) l-3))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w (rec l-1) l-3))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l-0) w (rec l-1) l-3))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w (rec l-1) l-3))
              (exp (gen) (mul l x)))))))
    ((recv
       (cat (exp (gen) y) (mul (rec l-0) w (rec l-1) (rec l-2) l-3)))
      (send
        (cat (exp (gen) y) (mul (rec l-0) w (rec l-1) (rec l-2) l-3))))
    ((recv (cat (exp (gen) l-3) (mul (rec l-0) w (rec l-1))))
      (send (cat (exp (gen) l-3) (mul (rec l-0) w (rec l-1)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-3)))
      (send
        (sig (body self (exp (gen) l-3) (pubk "sig" self))
          (privk "sig" self)))))
  (label 320)
  (parent 259)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) l-0) l-1))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l) (y x) (y (mul l-0 l-1)) (l-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 2 ltx-gen 2) l-2 (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self)))))
  (label 321)
  (parent 260)
  (unrealized (0 0) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (w expt)
    (l-0 l-1 l-2 l-3 rndx))
  (deflistener
    (hash (exp (gen) (mul y w l-0 l-1 l-3)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y w l-0 l-1 (rec l-2) l-3)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0 l-1 l-3)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w l-0 l-1 (rec l-2) l-3)))
  (deflistener (cat (exp (gen) l-3) (mul w l-0 l-1)))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-3))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-2 l-3)
  (uniq-gen x y)
  (absent (x l) (x l-2) (y l) (y x) (y (mul w l-0 l-1 l-3))
    (l-2 (mul w l-0 l-1 (rec l-2) l-3)) (l-3 (mul w l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-3 (mul w l-0 l-1))
    (mul w l-0 l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w l-0 l-1 l-3)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w l-0 l-1 l-3)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w l-0 l-1 (rec l-2) l-3))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0 l-1 l-3))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-0 l-1 l-3)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0 l-1 l-3))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w l-0 l-1 (rec l-2) l-3)))
      (send (cat (exp (gen) y) (mul w l-0 l-1 (rec l-2) l-3))))
    ((recv (cat (exp (gen) l-3) (mul w l-0 l-1)))
      (send (cat (exp (gen) l-3) (mul w l-0 l-1))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-3)))
      (send
        (sig (body self (exp (gen) l-3) (pubk "sig" self))
          (privk "sig" self)))))
  (label 322)
  (parent 260)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (w expt)
    (l-0 l-1 l-2 l-3 rndx))
  (deflistener
    (hash (exp (gen) (mul y w l-0 (rec l-1) l-3))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y w l-0 (rec l-1) (rec l-2) l-3)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0 (rec l-1) l-3)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w l-0 (rec l-1) (rec l-2) l-3)))
  (deflistener (cat (exp (gen) l-3) (mul w l-0 (rec l-1))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-3))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-2 l-3)
  (uniq-gen x y)
  (absent (x l) (x l-2) (y l) (y x) (y (mul w l-0 (rec l-1) l-3))
    (l-2 (mul w l-0 (rec l-1)))
    (l-2 (mul w l-0 (rec l-1) (rec l-2) l-3)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-2 (mul w l-0 (rec l-1)))
    (mul w l-0 (rec l-1)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w l-0 (rec l-1) l-3))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w l-0 (rec l-1) l-3))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w l-0 (rec l-1) (rec l-2) l-3))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0 (rec l-1) l-3))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w l-0 (rec l-1) l-3)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0 (rec l-1) l-3))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w l-0 (rec l-1) (rec l-2) l-3)))
      (send (cat (exp (gen) y) (mul w l-0 (rec l-1) (rec l-2) l-3))))
    ((recv (cat (exp (gen) l-3) (mul w l-0 (rec l-1))))
      (send (cat (exp (gen) l-3) (mul w l-0 (rec l-1)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-3)))
      (send
        (sig (body self (exp (gen) l-3) (pubk "sig" self))
          (privk "sig" self)))))
  (label 323)
  (parent 260)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) l-0) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (3 2)) ((1 2) (9 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (1 3)) ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0))
    ((5 1) (8 0)) ((5 2) (4 0)) ((6 1) (0 0)) ((7 1) (6 0))
    ((8 2) (7 0)) ((9 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) l-0) (one)))
      (send (cat (exp (gen) l-0) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 324)
  (parent 265)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) l-0) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (3 2)) ((1 2) (9 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (1 3)) ((3 3) (7 0)) ((4 1) (3 1)) ((5 1) (1 0))
    ((5 1) (8 0)) ((5 2) (4 0)) ((6 1) (0 0)) ((7 1) (6 0))
    ((8 2) (7 0)) ((9 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) l-0) (one)))
      (send (cat (exp (gen) l-0) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 325)
  (parent 265)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (9 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0))
    ((5 1) (1 3)) ((6 1) (5 0)) ((7 2) (6 0)) ((8 1) (0 0))
    ((9 1) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l) (y x))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (gen) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (rec l-0)))
      (send (cat (exp (gen) y) (rec l-0)))) ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) y) (exp (gen) (mul l x))))
      (send (cat (exp (gen) y) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 326)
  (parent 266)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (9 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0))
    ((5 1) (1 3)) ((6 1) (5 0)) ((7 2) (6 0)) ((8 1) (0 0))
    ((9 1) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l) (y x))
  (precur (5 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0)))
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (gen) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b (hash (exp (gen) y) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (rec l-0)))
      (send (cat (exp (gen) y) (rec l-0)))) ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) y) (exp (gen) (mul l x))))
      (send (cat (exp (gen) y) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 327)
  (parent 266)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (3 2)) ((1 2) (9 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (4 0)) ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (1 0))
    ((5 1) (8 0)) ((5 2) (3 1)) ((6 1) (0 0)) ((7 1) (6 0))
    ((8 2) (7 0)) ((9 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 328)
  (parent 267)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y) l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (3 2)) ((1 2) (9 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (4 0)) ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (1 0))
    ((5 1) (8 0)) ((5 2) (3 1)) ((6 1) (0 0)) ((7 1) (6 0))
    ((8 2) (7 0)) ((9 1) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (4 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((5 1) (1 0)) ((5 1) (8 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (stor priv-stor-0 (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 329)
  (parent 267)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta w expt) (x-0 x-1 x-2 l-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w x-0 (rec x-1) x-2 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 (rec x-1) x-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0 (rec x-1) x-2 (rec l-0))))
  (deflistener (cat (exp (gen) x-2) (mul w x-0 (rec x-1))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-2) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-2)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w x-0 (rec x-1) x-2))
    (x-2 beta) (x-2 l-0) (l-0 (mul w x-0 (rec x-1)))
    (l-0 (mul w x-0 (rec x-1) x-2 (rec l-0))))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w x-0 (rec x-1)))
    (mul w x-0 (rec x-1)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0 (rec x-1) x-2 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w x-0 (rec x-1) x-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w x-0 (rec x-1) x-2 (rec l-0))))
      (send (cat (exp (gen) y) (mul w x-0 (rec x-1) x-2 (rec l-0)))))
    ((recv (cat (exp (gen) x-2) (mul w x-0 (rec x-1))))
      (send (cat (exp (gen) x-2) (mul w x-0 (rec x-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-2)))))
  (label 330)
  (parent 271)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta w expt) (x-0 l-0 x-1 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 l-0 x-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w x-0 l-0 x-1 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 l-0 x-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0 l-0 x-1 (rec l-1))))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 l-0)))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-1) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-1)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w x-0 l-0 x-1)) (x-1 beta)
    (x-1 (mul w x-0 l-0)) (x-1 l-1) (l-1 (mul w x-0 l-0 x-1 (rec l-1))))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-1 (mul w x-0 l-0))
    (mul w x-0 l-0) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w x-0 l-0 x-1)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w x-0 l-0 x-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0 l-0 x-1 (rec l-1)))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-0 x-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0 l-0 x-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-0 x-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w x-0 l-0 x-1 (rec l-1))))
      (send (cat (exp (gen) y) (mul w x-0 l-0 x-1 (rec l-1)))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 l-0)))
      (send (cat (exp (gen) x-1) (mul w x-0 l-0))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-1)))))
  (label 331)
  (parent 271)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta w expt) (l-0 x-0 x-1 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l-0) (rec x-0) x-1))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l)
    (eta (mul y w (rec l-0) (rec x-0) x-1 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w (rec l-0) (rec x-0) x-1)) (chi x))
  (deflistener
    (cat (exp (gen) y) (mul w (rec l-0) (rec x-0) x-1 (rec l-1))))
  (deflistener (cat (exp (gen) x-1) (mul w (rec l-0) (rec x-0))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-1) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-1)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w (rec l-0) (rec x-0) x-1))
    (x-1 beta) (x-1 (mul w (rec l-0) (rec x-0) x-1 (rec l-1))) (x-1 l-1)
    (l-1 (mul w (rec l-0) (rec x-0))))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w (rec l-0) (rec x-0)))
    (mul w (rec l-0) (rec x-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l-0) (rec x-0) x-1))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w (rec l-0) (rec x-0) x-1))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0) (rec x-0) x-1 (rec l-1)))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) (rec x-0) x-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w (rec l-0) (rec x-0) x-1))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) (rec x-0) x-1))
              (exp (gen) (mul l x)))))))
    ((recv
       (cat (exp (gen) y) (mul w (rec l-0) (rec x-0) x-1 (rec l-1))))
      (send
        (cat (exp (gen) y) (mul w (rec l-0) (rec x-0) x-1 (rec l-1)))))
    ((recv (cat (exp (gen) x-1) (mul w (rec l-0) (rec x-0))))
      (send (cat (exp (gen) x-1) (mul w (rec l-0) (rec x-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-1)))))
  (label 332)
  (parent 272)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (beta w expt) (l-0 l-1 x-0 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l-0) l-1 x-0))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y w (rec l-0) l-1 x-0 (rec l-2))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w (rec l-0) l-1 x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0) l-1 x-0 (rec l-2))))
  (deflistener (cat (exp (gen) x-0) (mul w (rec l-0) l-1)))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor)
    (l l-2) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-2)
  (uniq-gen x y x-0)
  (absent (x l) (x l-2) (y l) (y x) (y (mul w (rec l-0) l-1 x-0))
    (x-0 beta) (x-0 (mul w (rec l-0) l-1))
    (x-0 (mul w (rec l-0) l-1 x-0 (rec l-2))) (x-0 l-2))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l))
  (facts (neq a b-0) (neq b-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-0 (mul w (rec l-0) l-1))
    (mul w (rec l-0) l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l-0) l-1 x-0))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w (rec l-0) l-1 x-0))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0) l-1 x-0 (rec l-2)))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) l-1 x-0))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w (rec l-0) l-1 x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) l-1 x-0))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0) l-1 x-0 (rec l-2))))
      (send (cat (exp (gen) y) (mul w (rec l-0) l-1 x-0 (rec l-2)))))
    ((recv (cat (exp (gen) x-0) (mul w (rec l-0) l-1)))
      (send (cat (exp (gen) x-0) (mul w (rec l-0) l-1))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-0)))))
  (label 333)
  (parent 272)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l rndx) (w expt) (l-0 l-1 l-2 x-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w l-1 x-0))
      (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l-0) (eta (mul y (rec l) w l-1 (rec l-2) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul (rec l) w l-1 x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w l-1 (rec l-2) x-0)))
  (deflistener (cat (exp (gen) x-0) (mul (rec l) w l-1)))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l-0 l-2)
  (uniq-gen x y x-0)
  (absent (x l-0) (x l-2) (y x) (y (mul (rec l) w l-1 x-0)) (y l-0)
    (x-0 beta) (x-0 (mul (rec l) w l-1))
    (x-0 (mul (rec l) w l-1 (rec l-2) x-0)) (x-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-0 (mul (rec l) w l-1))
    (mul (rec l) w l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w l-1 x-0))
         (exp (gen) (mul x l-0))))
      (send
        (hash (exp (gen) (mul y (rec l) w l-1 x-0))
          (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w l-1 (rec l-2) x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-1 x-0))
              (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul (rec l) w l-1 x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-1 x-0))
              (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w l-1 (rec l-2) x-0)))
      (send (cat (exp (gen) y) (mul (rec l) w l-1 (rec l-2) x-0))))
    ((recv (cat (exp (gen) x-0) (mul (rec l) w l-1)))
      (send (cat (exp (gen) x-0) (mul (rec l) w l-1))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 334)
  (parent 276)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l rndx) (w expt) (l-0 x-0 l-1 x-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w (rec x-0) x-1))
      (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-0)
    (eta (mul y (rec l) w (rec x-0) (rec l-1) x-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul (rec l) w (rec x-0) x-1)) (chi x))
  (deflistener
    (cat (exp (gen) y) (mul (rec l) w (rec x-0) (rec l-1) x-1)))
  (deflistener (cat (exp (gen) x-1) (mul (rec l) w (rec x-0))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l-0 l-1)
  (uniq-gen x y x-1)
  (absent (x l-0) (x l-1) (y x) (y (mul (rec l) w (rec x-0) x-1))
    (y l-0) (l-1 (mul (rec l) w (rec x-0))) (x-1 beta)
    (x-1 (mul (rec l) w (rec x-0) (rec l-1) x-1)) (x-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-0))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul (rec l) w (rec x-0)))
    (mul (rec l) w (rec x-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w (rec x-0) x-1))
         (exp (gen) (mul x l-0))))
      (send
        (hash (exp (gen) (mul y (rec l) w (rec x-0) x-1))
          (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w (rec x-0) (rec l-1) x-1))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w (rec x-0) x-1))
              (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l) w (rec x-0) x-1))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w (rec x-0) x-1))
              (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w (rec x-0) (rec l-1) x-1)))
      (send
        (cat (exp (gen) y) (mul (rec l) w (rec x-0) (rec l-1) x-1))))
    ((recv (cat (exp (gen) x-1) (mul (rec l) w (rec x-0))))
      (send (cat (exp (gen) x-1) (mul (rec l) w (rec x-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-1)))))
  (label 335)
  (parent 276)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta expt) (l x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul x-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) x-0))
  (deflistener (cat (exp (gen) x-0) l-0))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l) (x x-0) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 1) (7 0)) ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y l) (y (mul x-0 l-0)) (x-0 beta) (x-0 l)
    (l-0 x-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 2 ltx-gen 2) l-1 (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul x-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) x-0)) (send (cat (exp (gen) y) x-0)))
    ((recv (cat (exp (gen) x-0) l-0)) (send (cat (exp (gen) x-0) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0)))))
  (label 336)
  (parent 277)
  (unrealized (0 0) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta w expt) (x-0 l l-0 l-1 x-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 l-0 x-1)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w x-0 l-0 (rec l-1) x-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 l-0 x-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0 l-0 (rec l-1) x-1)))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 l-0)))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l) (x x-1) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-1)
  (absent (x l) (x l-1) (y x) (y (mul w x-0 l-0 x-1)) (y l)
    (l-1 (mul w x-0 l-0 (rec l-1) x-1)) (x-1 beta) (x-1 (mul w x-0 l-0))
    (x-1 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-1 (mul w x-0 l-0))
    (mul w x-0 l-0) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w x-0 l-0 x-1)) (exp (gen) (mul x l))))
      (send
        (hash (exp (gen) (mul y w x-0 l-0 x-1)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0 l-0 (rec l-1) x-1))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-0 x-1))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0 l-0 x-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-0 x-1))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) (mul w x-0 l-0 (rec l-1) x-1)))
      (send (cat (exp (gen) y) (mul w x-0 l-0 (rec l-1) x-1))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 l-0)))
      (send (cat (exp (gen) x-1) (mul w x-0 l-0))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-1)))))
  (label 337)
  (parent 277)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (beta w expt) (x-0 l x-1 l-0 x-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
      (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w x-0 (rec x-1) (rec l-0) x-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 (rec x-1) x-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0 (rec x-1) (rec l-0) x-2)))
  (deflistener (cat (exp (gen) x-2) (mul w x-0 (rec x-1))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l) (x x-2) (beta beta))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-2)
  (absent (x l) (x l-0) (y x) (y (mul w x-0 (rec x-1) x-2)) (y l)
    (l-0 (mul w x-0 (rec x-1)))
    (l-0 (mul w x-0 (rec x-1) (rec l-0) x-2)) (x-2 beta) (x-2 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w x-0 (rec x-1)))
    (mul w x-0 (rec x-1)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
         (exp (gen) (mul x l))))
      (send
        (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
          (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0 (rec x-1) (rec l-0) x-2))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w x-0 (rec x-1) x-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) (mul w x-0 (rec x-1) (rec l-0) x-2)))
      (send (cat (exp (gen) y) (mul w x-0 (rec x-1) (rec l-0) x-2))))
    ((recv (cat (exp (gen) x-2) (mul w x-0 (rec x-1))))
      (send (cat (exp (gen) x-2) (mul w x-0 (rec x-1)))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-2)))))
  (label 338)
  (parent 277)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 rndx) (w expt) (l-1 l-2 l-3 x-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w l-2 x-0))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-3) (x x) (beta l) (eta (mul y (rec l-0) w l-2 (rec l-3) x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-3))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w l-2 x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w l-2 (rec l-3) x-0)))
  (deflistener (cat (exp (gen) x-0) (mul (rec l-0) w l-2)))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1 l-3)
  (uniq-gen x y x-0)
  (absent (x l) (x l-3) (y l) (y x) (y (mul (rec l-0) w l-2 x-0))
    (x-0 beta) (x-0 (mul (rec l-0) w l-2))
    (x-0 (mul (rec l-0) w l-2 (rec l-3) x-0)) (x-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-3) (pv b l) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-0 (mul (rec l-0) w l-2))
    (mul (rec l-0) w l-2) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w l-2 x-0))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w l-2 x-0))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-3)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w l-2 (rec l-3) x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-2 x-0))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-3))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l-0) w l-2 x-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-2 x-0))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w l-2 (rec l-3) x-0)))
      (send (cat (exp (gen) y) (mul (rec l-0) w l-2 (rec l-3) x-0))))
    ((recv (cat (exp (gen) x-0) (mul (rec l-0) w l-2)))
      (send (cat (exp (gen) x-0) (mul (rec l-0) w l-2))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 339)
  (parent 282)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 rndx) (w expt) (l-1 x-0 l-2 x-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w (rec x-0) x-1))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l)
    (eta (mul y (rec l-0) w (rec x-0) (rec l-2) x-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w (rec x-0) x-1)) (chi x))
  (deflistener
    (cat (exp (gen) y) (mul (rec l-0) w (rec x-0) (rec l-2) x-1)))
  (deflistener (cat (exp (gen) x-1) (mul (rec l-0) w (rec x-0))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-1) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1 l-2)
  (uniq-gen x y x-1)
  (absent (x l) (x l-2) (y l) (y x) (y (mul (rec l-0) w (rec x-0) x-1))
    (l-2 (mul (rec l-0) w (rec x-0))) (x-1 beta)
    (x-1 (mul (rec l-0) w (rec x-0) (rec l-2) x-1)) (x-1 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l) (pv a-0 l-1))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-2 (mul (rec l-0) w (rec x-0)))
    (mul (rec l-0) w (rec x-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w (rec x-0) x-1))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w (rec x-0) x-1))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w (rec x-0) (rec l-2) x-1))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w (rec x-0) x-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l-0) w (rec x-0) x-1))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w (rec x-0) x-1))
              (exp (gen) (mul l x)))))))
    ((recv
       (cat (exp (gen) y) (mul (rec l-0) w (rec x-0) (rec l-2) x-1)))
      (send
        (cat (exp (gen) y) (mul (rec l-0) w (rec x-0) (rec l-2) x-1))))
    ((recv (cat (exp (gen) x-1) (mul (rec l-0) w (rec x-0))))
      (send (cat (exp (gen) x-1) (mul (rec l-0) w (rec x-0)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-1))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-1)))))
  (label 340)
  (parent 282)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul x-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) x-0))
  (deflistener (cat (exp (gen) x-0) l-1))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul x-0 l-1)) (x-0 beta)
    (x-0 l-0) (l-1 x-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 2 ltx-gen 2) l-2 (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul x-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) x-0)) (send (cat (exp (gen) y) x-0)))
    ((recv (cat (exp (gen) x-0) l-1)) (send (cat (exp (gen) x-0) l-1)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-0)))))
  (label 341)
  (parent 283)
  (unrealized (0 0) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta w expt)
    (x-0 l-0 l-1 l-2 x-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 l-1 x-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y w x-0 l-1 (rec l-2) x-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 l-1 x-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0 l-1 (rec l-2) x-1)))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 l-1)))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-1) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-2)
  (uniq-gen x y x-1)
  (absent (x l) (x l-2) (y l) (y x) (y (mul w x-0 l-1 x-1))
    (l-2 (mul w x-0 l-1 (rec l-2) x-1)) (x-1 beta) (x-1 (mul w x-0 l-1))
    (x-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence x-1 (mul w x-0 l-1))
    (mul w x-0 l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y w x-0 l-1 x-1)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w x-0 l-1 x-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0 l-1 (rec l-2) x-1))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-1 x-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w x-0 l-1 x-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 l-1 x-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w x-0 l-1 (rec l-2) x-1)))
      (send (cat (exp (gen) y) (mul w x-0 l-1 (rec l-2) x-1))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 l-1)))
      (send (cat (exp (gen) x-1) (mul w x-0 l-1))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-1))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-0)))))
  (label 342)
  (parent 283)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta w expt)
    (x-0 l-0 x-1 l-1 x-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w x-0 (rec x-1) (rec l-1) x-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w x-0 (rec x-1) x-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0 (rec x-1) (rec l-1) x-2)))
  (deflistener (cat (exp (gen) x-2) (mul w x-0 (rec x-1))))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-2) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 2) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-2)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w x-0 (rec x-1) x-2))
    (l-1 (mul w x-0 (rec x-1)))
    (l-1 (mul w x-0 (rec x-1) (rec l-1) x-2)) (x-2 beta) (x-2 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w x-0 (rec x-1)))
    (mul w x-0 (rec x-1)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w x-0 (rec x-1) (rec l-1) x-2))
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w x-0 (rec x-1) x-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w x-0 (rec x-1) x-2))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w x-0 (rec x-1) (rec l-1) x-2)))
      (send (cat (exp (gen) y) (mul w x-0 (rec x-1) (rec l-1) x-2))))
    ((recv (cat (exp (gen) x-2) (mul w x-0 (rec x-1))))
      (send (cat (exp (gen) x-2) (mul w x-0 (rec x-1)))))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-2))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-0)))))
  (label 343)
  (parent 283)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (gen) (mul l-0 l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (6 0)) ((8 2) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (7 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (gen) (mul l-0 l-0))) (send (cat (gen) (mul l-0 l-0))))
    ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 344)
  (parent 288)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))))
  (label 345)
  (parent 289)
  (unrealized (8 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (l-0 (one)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 346)
  (parent 290)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y rndx) (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (gen) (mul w l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (6 0)) ((8 2) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)) (l-0 w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (7 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (gen) (mul w l-0))) (send (cat (gen) (mul w l-0))))
    ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 347)
  (parent 292)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y rndx) (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0))))
  (deflistener (cat (gen) w))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (5 0)) ((8 2) (7 0)) ((9 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener (cat (exp (gen) (mul y w)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (exp (gen) w) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0))))
      (send (cat (exp (gen) y) (mul w (rec l-0)))))
    ((recv (cat (gen) w)) (send (cat (gen) w))) ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y w)) (exp (gen) (mul l x))))))
  (label 348)
  (parent 293)
  (unrealized (9 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x y rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-0)
    (eta (mul (rec l) y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l)))
  (deflistener (cat (exp (gen) l) (rec l)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (3 2)) ((1 2) (8 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (4 0)) ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (3 1))
    ((6 1) (1 0)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l-0) (y x))
  (precur (4 0) (5 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b self) (neq self b) (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul l-0 x)) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb self b
            (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (gen) (pubk "sig" self)) (privk "sig" self)))
      (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (rec l)))
      (send (cat (exp (gen) y) (rec l))))
    ((recv (cat (exp (gen) l) (rec l)))
      (send (cat (exp (gen) l) (rec l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) y) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 349)
  (parent 294)
  (unrealized (1 3) (4 0) (5 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn)
    (l l-0 x y rndx))
  (deflistener (hash (exp (gen) y) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-0)
    (eta (mul (rec l) y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y) (alpha (one)) (chi x))
  (deflistener (cat (exp (gen) y) (rec l)))
  (deflistener (cat (exp (gen) l) (rec l)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) y) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (3 2)) ((1 2) (8 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (4 0)) ((3 3) (7 0)) ((4 1) (1 3)) ((5 1) (3 1))
    ((6 1) (1 0)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y (one)) (y l-0) (y x))
  (precur (4 0) (5 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b self) (neq self b) (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul l-0 x)) (7 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) y) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) y))
          (enc na nb self b
            (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (gen) (pubk "sig" self)) (privk "sig" self)))
      (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) y) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (rec l)))
      (send (cat (exp (gen) y) (rec l))))
    ((recv (cat (exp (gen) l) (rec l)))
      (send (cat (exp (gen) l) (rec l))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) y) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) y) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 350)
  (parent 294)
  (unrealized (1 3) (4 0) (5 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l l-0 rndx)
    (w expt) (x y rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-0)
    (eta (mul (rec l) w y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w)))
  (deflistener (cat (exp (gen) l) (mul (rec l) w)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) y) w))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l-0) (y w) (y x))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b self) (neq self b) (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 3 resp 4) (exp (gen) y-0) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (exp (gen) w) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w)))
      (send (cat (exp (gen) y) (mul (rec l) w))))
    ((recv (cat (exp (gen) l) (mul (rec l) w)))
      (send (cat (exp (gen) l) (mul (rec l) w))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w))))
  (label 351)
  (parent 295)
  (unrealized (1 3) (4 0) (5 0) (7 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (b self a b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x l-0 rndx) (beta expt)
    (l-1 rndx) (w expt) (x-0 y x-1 rndx))
  (deflistener (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-1) (x x) (beta l)
    (eta (mul (rec l-1) w x-0 y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-1) w x-0)))
  (deflistener (cat (exp (gen) l-1) (mul (rec l-1) w x-0)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-1))
  (deflistener (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 y (rec x-1))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-1) (beta beta))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)) ((9 2) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-1)
  (uniq-gen x y x-1)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w x-0)) (x-1 l-0)
    (x-1 beta))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-1) (pv a l-0))
  (facts (neq a b-0) (neq b-0 a) (neq b self) (neq self b)
    (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand init 3) (exp (gen) x-1) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) w x-0 y))
          (enc na nb self b
            (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w x-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-1) w x-0)))
      (send (cat (exp (gen) y) (mul (rec l-1) w x-0))))
    ((recv (cat (exp (gen) l-1) (mul (rec l-1) w x-0)))
      (send (cat (exp (gen) l-1) (mul (rec l-1) w x-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 y (rec x-1))))
      (send (cat (exp (gen) x-1) (mul w x-0 y (rec x-1)))))
    ((load priv-stor-1 (cat pt-3 (pv a l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-1)))))
  (label 352)
  (parent 295)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0) (9 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x l-0 rndx)
    (w expt) (y rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l)
    (eta (mul (rec l-0) w y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w)))
  (deflistener (cat (exp (gen) l-0) (mul (rec l-0) w)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul l x))))
  (deflistener (cat (gen) (mul w y)))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (contracted (y-0 y) (w-0 (mul (rec l-0) w)) (l-1 l-0)
      (w-1 (mul w y)) (y-1 y) (w (mul w y))) (gen) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y))
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) w) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w)))
      (send (cat (exp (gen) y) (mul (rec l-0) w))))
    ((recv (cat (exp (gen) l-0) (mul (rec l-0) w)))
      (send (cat (exp (gen) l-0) (mul (rec l-0) w))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul l x)))))
    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y)))))
  (label 353)
  (parent 295)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (w expt)
    (l l-0 x y x-0 rndx))
  (deflistener (hash (exp (gen) (mul w x y)) (exp (gen) (mul l-0 x-0))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x-0) (beta l-0)
    (eta (mul w (rec l) x y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y) (alpha (mul w x)) (chi x-0))
  (deflistener (cat (exp (gen) y) (mul w (rec l) x)))
  (deflistener (cat (exp (gen) l) (mul w (rec l) x)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) (mul w x y)) (exp (gen) (mul l-0 x-0))))
  (deflistener (cat (exp (gen) x-0) (mul w x y (rec x-0))))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen y x-0)
  (absent (y (mul w x)) (y l-0) (y x-0) (x-0 l) (x-0 l-0))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b self) (neq self b) (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 1 init 3) (exp (gen) x-1) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w x y)) (exp (gen) (mul l-0 x-0))))
      (send (hash (exp (gen) (mul w x y)) (exp (gen) (mul l-0 x-0)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x-0)))
      (recv
        (cat (exp (gen) (mul w (rec l) x y))
          (enc na nb self b
            (hash (exp (gen) (mul w x y)) (exp (gen) (mul l-0 x-0)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (exp (gen) (mul w x)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x-0)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w x y)) (exp (gen) (mul l-0 x-0)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l) x)))
      (send (cat (exp (gen) y) (mul w (rec l) x))))
    ((recv (cat (exp (gen) l) (mul w (rec l) x)))
      (send (cat (exp (gen) l) (mul w (rec l) x))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w x y)) (exp (gen) (mul l-0 x-0))))
      (send (cat (exp (gen) (mul w x y)) (exp (gen) (mul l-0 x-0)))))
    ((recv (cat (exp (gen) x-0) (mul w x y (rec x-0))))
      (send (cat (exp (gen) x-0) (mul w x y (rec x-0))))))
  (label 354)
  (parent 295)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x l rndx)
    (w expt) (l-0 y l-1 rndx))
  (deflistener (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul x l-1))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-1)
    (eta (mul (rec l) w l-0 y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-1))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-1) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w l-0)))
  (deflistener (cat (exp (gen) l) (mul (rec l) w l-0)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) (mul w l-0 y)) (exp (gen) (mul x l-1))))
  (deflistener (cat (exp (gen) l-1) (mul w l-0 y (rec l-1))))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y x) (y (mul w l-0)) (y l-1))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l-1) (pv self l))
  (facts (neq b self) (neq self b) (undisclosed l-1))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 2 ltx-gen 3) (exp (gen) l-2) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul x l-1))))
      (send (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul x l-1)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w l-0 y))
          (enc na nb self b
            (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul x l-1)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-1)))
      (send
        (sig (body b (exp (gen) l-1) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-1)))
      (recv
        (sig (body self (exp (gen) (mul w l-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul x l-1)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w l-0)))
      (send (cat (exp (gen) y) (mul (rec l) w l-0))))
    ((recv (cat (exp (gen) l) (mul (rec l) w l-0)))
      (send (cat (exp (gen) l) (mul (rec l) w l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w l-0 y)) (exp (gen) (mul x l-1))))
      (send (cat (exp (gen) (mul w l-0 y)) (exp (gen) (mul x l-1)))))
    ((recv (cat (exp (gen) l-1) (mul w l-0 y (rec l-1))))
      (send (cat (exp (gen) l-1) (mul w l-0 y (rec l-1))))))
  (label 355)
  (parent 295)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data)
    (b self a b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x l-0 rndx)
    (alpha chi expt) (l-1 rndx) (w expt) (y y-0 y-1 rndx))
  (deflistener (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-1) (x x) (beta l)
    (eta (mul (rec l-1) w y y-0)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y-0) (alpha (mul w y)) (chi x))
  (deflistener (cat (exp (gen) y-0) (mul (rec l-1) w y)))
  (deflistener (cat (exp (gen) l-1) (mul (rec l-1) w y)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-1))
  (deflistener (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y-1) (mul w y y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)) ((9 3) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y-0 y-1)
  (absent (x l) (x l-1) (y-0 l) (y-0 x) (y-0 (mul w y)) (y-1 l-0)
    (y-1 alpha) (y-1 chi))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-1) (pv b-0 l-0))
  (facts (neq b-0 a) (neq a b-0) (neq b self) (neq self b)
    (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-init-neq0 fact-resp-neq0 gen-st-ltx-disclose-0
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand resp 4) (exp (gen) y-1) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-1) w y y-0))
          (enc na nb self b
            (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w y)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y-0)
          (enc na nb self b
            (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y-0) (mul (rec l-1) w y)))
      (send (cat (exp (gen) y-0) (mul (rec l-1) w y))))
    ((recv (cat (exp (gen) l-1) (mul (rec l-1) w y)))
      (send (cat (exp (gen) l-1) (mul (rec l-1) w y))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y-1) (mul w y y-0 (rec y-1))))
      (send (cat (exp (gen) y-1) (mul w y y-0 (rec y-1)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na-0 a b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a b-0
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul l-0 chi))))))))
  (label 356)
  (parent 295)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0) (9 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x rndx)
    (w expt) (l-0 y l-1 rndx))
  (deflistener (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-1) (x x) (beta l)
    (eta (mul w l-0 y (rec l-1))))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w l-0 (rec l-1))))
  (deflistener (cat (exp (gen) l-1) (mul w l-0 (rec l-1))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-1))
  (deflistener (cat (exp (gen) (mul w l-0 y)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l-1) (mul w l-0 y (rec l-1))))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w l-0)))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-1))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 6 ltx-gen 3) (exp (gen) l-2) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w l-0 y (rec l-1)))
          (enc na nb self b
            (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w l-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w l-0 y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w l-0 (rec l-1))))
      (send (cat (exp (gen) y) (mul w l-0 (rec l-1)))))
    ((recv (cat (exp (gen) l-1) (mul w l-0 (rec l-1))))
      (send (cat (exp (gen) l-1) (mul w l-0 (rec l-1)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w l-0 y)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w l-0 y)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l-1) (mul w l-0 y (rec l-1))))
      (send (cat (exp (gen) l-1) (mul w l-0 y (rec l-1))))))
  (label 357)
  (parent 295)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data)
    (b self self-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x l-0 rndx) (w expt)
    (l-1 y l-2 rndx))
  (deflistener (hash (exp (gen) (mul w l-1 y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l)
    (eta (mul (rec l-0) w l-1 y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w l-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w l-1)))
  (deflistener (cat (exp (gen) l-0) (mul (rec l-0) w l-1)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul w l-1 y)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l-2) (mul w l-1 y (rec l-2))))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self-0)
    (priv-stor priv-stor-1) (l l-2))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)) ((9 2) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-2)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-1)))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-gen 3) (exp (gen) l-2) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w l-1 y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w l-1 y)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w l-1 y))
          (enc na nb self b
            (hash (exp (gen) (mul w l-1 y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w l-1)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w l-1 y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w l-1)))
      (send (cat (exp (gen) y) (mul (rec l-0) w l-1))))
    ((recv (cat (exp (gen) l-0) (mul (rec l-0) w l-1)))
      (send (cat (exp (gen) l-0) (mul (rec l-0) w l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w l-1 y)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w l-1 y)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l-2) (mul w l-1 y (rec l-2))))
      (send (cat (exp (gen) l-2) (mul w l-1 y (rec l-2)))))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self-0 l-2)))
      (send
        (sig (body self-0 (exp (gen) l-2) (pubk "sig" self-0))
          (privk "sig" self-0)))))
  (label 358)
  (parent 295)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi w expt) (y-0 y-1 y-2 l-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w y-0 (rec y-1) y-2 (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 (rec y-1) y-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0 (rec y-1) y-2 (rec l-0))))
  (deflistener (cat (exp (gen) y-2) (mul w y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-0) (y y-2) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-2)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w y-0 (rec y-1) y-2))
    (y-2 alpha) (y-2 chi) (y-2 l-0) (l-0 (mul w y-0 (rec y-1)))
    (l-0 (mul w y-0 (rec y-1) y-2 (rec l-0))))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w y-0 (rec y-1)))
    (mul w y-0 (rec y-1)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0 (rec y-1) y-2 (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w y-0 (rec y-1) y-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w y-0 (rec y-1) y-2 (rec l-0))))
      (send (cat (exp (gen) y) (mul w y-0 (rec y-1) y-2 (rec l-0)))))
    ((recv (cat (exp (gen) y-2) (mul w y-0 (rec y-1))))
      (send (cat (exp (gen) y-2) (mul w y-0 (rec y-1)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-2)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-2))
              (exp (gen) (mul chi l-0))))))))
  (label 359)
  (parent 299)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi w expt) (y-0 l-0 y-1 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 l-0 y-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w y-0 l-0 y-1 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 l-0 y-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0 l-0 y-1 (rec l-1))))
  (deflistener (cat (exp (gen) y-1) (mul w y-0 l-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-1) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y y-1)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w y-0 l-0 y-1)) (y-1 alpha)
    (y-1 chi) (y-1 (mul w y-0 l-0)) (y-1 l-1)
    (l-1 (mul w y-0 l-0 y-1 (rec l-1))))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-1 (mul w y-0 l-0))
    (mul w y-0 l-0) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w y-0 l-0 y-1)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w y-0 l-0 y-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0 l-0 y-1 (rec l-1)))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-0 y-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0 l-0 y-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-0 y-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w y-0 l-0 y-1 (rec l-1))))
      (send (cat (exp (gen) y) (mul w y-0 l-0 y-1 (rec l-1)))))
    ((recv (cat (exp (gen) y-1) (mul w y-0 l-0)))
      (send (cat (exp (gen) y-1) (mul w y-0 l-0))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-1))))))))
  (label 360)
  (parent 299)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi w expt) (l-0 y-0 y-1 l-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l-0) (rec y-0) y-1))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l)
    (eta (mul y w (rec l-0) (rec y-0) y-1 (rec l-1))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w (rec l-0) (rec y-0) y-1)) (chi x))
  (deflistener
    (cat (exp (gen) y) (mul w (rec l-0) (rec y-0) y-1 (rec l-1))))
  (deflistener (cat (exp (gen) y-1) (mul w (rec l-0) (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-1) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y y-1)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w (rec l-0) (rec y-0) y-1))
    (y-1 alpha) (y-1 chi)
    (y-1 (mul w (rec l-0) (rec y-0) y-1 (rec l-1))) (y-1 l-1)
    (l-1 (mul w (rec l-0) (rec y-0))))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w (rec l-0) (rec y-0)))
    (mul w (rec l-0) (rec y-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l-0) (rec y-0) y-1))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w (rec l-0) (rec y-0) y-1))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0) (rec y-0) y-1 (rec l-1)))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) (rec y-0) y-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w (rec l-0) (rec y-0) y-1))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) (rec y-0) y-1))
              (exp (gen) (mul l x)))))))
    ((recv
       (cat (exp (gen) y) (mul w (rec l-0) (rec y-0) y-1 (rec l-1))))
      (send
        (cat (exp (gen) y) (mul w (rec l-0) (rec y-0) y-1 (rec l-1)))))
    ((recv (cat (exp (gen) y-1) (mul w (rec l-0) (rec y-0))))
      (send (cat (exp (gen) y-1) (mul w (rec l-0) (rec y-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-1))))))))
  (label 361)
  (parent 300)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x y rndx)
    (alpha chi w expt) (l-0 l-1 y-0 l-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w (rec l-0) l-1 y-0))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y w (rec l-0) l-1 y-0 (rec l-2))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w (rec l-0) l-1 y-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0) l-1 y-0 (rec l-2))))
  (deflistener (cat (exp (gen) y-0) (mul w (rec l-0) l-1)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b a)
    (priv-stor priv-stor) (l l-2) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-2)
  (uniq-gen x y y-0)
  (absent (x l) (x l-2) (y l) (y x) (y (mul w (rec l-0) l-1 y-0))
    (y-0 alpha) (y-0 chi) (y-0 (mul w (rec l-0) l-1))
    (y-0 (mul w (rec l-0) l-1 y-0 (rec l-2))) (y-0 l-2))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l))
  (facts (neq a a-0) (neq a-0 a) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-0 (mul w (rec l-0) l-1))
    (mul w (rec l-0) l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w (rec l-0) l-1 y-0))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w (rec l-0) l-1 y-0))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0) l-1 y-0 (rec l-2)))
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) l-1 y-0))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w (rec l-0) l-1 y-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w (rec l-0) l-1 y-0))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0) l-1 y-0 (rec l-2))))
      (send (cat (exp (gen) y) (mul w (rec l-0) l-1 y-0 (rec l-2)))))
    ((recv (cat (exp (gen) y-0) (mul w (rec l-0) l-1)))
      (send (cat (exp (gen) y-0) (mul w (rec l-0) l-1))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 a (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 a
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-2))))))))
  (label 362)
  (parent 300)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l rndx) (w expt) (l-0 l-1 l-2 y-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w l-1 y-0))
      (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l-0) (eta (mul y (rec l) w l-1 (rec l-2) y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul (rec l) w l-1 y-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w l-1 (rec l-2) y-0)))
  (deflistener (cat (exp (gen) y-0) (mul (rec l) w l-1)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l-0 l-2)
  (uniq-gen x y y-0)
  (absent (x l-0) (x l-2) (y x) (y (mul (rec l) w l-1 y-0)) (y l-0)
    (y-0 alpha) (y-0 chi) (y-0 (mul (rec l) w l-1))
    (y-0 (mul (rec l) w l-1 (rec l-2) y-0)) (y-0 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-0 (mul (rec l) w l-1))
    (mul (rec l) w l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w l-1 y-0))
         (exp (gen) (mul x l-0))))
      (send
        (hash (exp (gen) (mul y (rec l) w l-1 y-0))
          (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w l-1 (rec l-2) y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-1 y-0))
              (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) (mul (rec l) w l-1 y-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w l-1 y-0))
              (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w l-1 (rec l-2) y-0)))
      (send (cat (exp (gen) y) (mul (rec l) w l-1 (rec l-2) y-0))))
    ((recv (cat (exp (gen) y-0) (mul (rec l) w l-1)))
      (send (cat (exp (gen) y-0) (mul (rec l) w l-1))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0))))))))
  (label 363)
  (parent 304)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l rndx) (w expt) (l-0 y-0 l-1 y-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l) w (rec y-0) y-1))
      (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l-0)
    (eta (mul y (rec l) w (rec y-0) (rec l-1) y-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l-0) (y y) (alpha (mul (rec l) w (rec y-0) y-1)) (chi x))
  (deflistener
    (cat (exp (gen) y) (mul (rec l) w (rec y-0) (rec l-1) y-1)))
  (deflistener (cat (exp (gen) y-1) (mul (rec l) w (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l-0) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l-0 l-1)
  (uniq-gen x y y-1)
  (absent (x l-0) (x l-1) (y x) (y (mul (rec l) w (rec y-0) y-1))
    (y l-0) (l-1 (mul (rec l) w (rec y-0))) (y-1 alpha) (y-1 chi)
    (y-1 (mul (rec l) w (rec y-0) (rec l-1) y-1)) (y-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l-0))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l-0))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul (rec l) w (rec y-0)))
    (mul (rec l) w (rec y-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l) w (rec y-0) y-1))
         (exp (gen) (mul x l-0))))
      (send
        (hash (exp (gen) (mul y (rec l) w (rec y-0) y-1))
          (exp (gen) (mul x l-0)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l) w (rec y-0) (rec l-1) y-1))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w (rec y-0) y-1))
              (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l) w (rec y-0) y-1))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l) w (rec y-0) y-1))
              (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w (rec y-0) (rec l-1) y-1)))
      (send
        (cat (exp (gen) y) (mul (rec l) w (rec y-0) (rec l-1) y-1))))
    ((recv (cat (exp (gen) y-1) (mul (rec l) w (rec y-0))))
      (send (cat (exp (gen) y-1) (mul (rec l) w (rec y-0)))))
    ((load priv-stor-0 (cat pt-2 (pv b l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-0))))))))
  (label 364)
  (parent 304)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi expt) (l y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul y-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) y-0))
  (deflistener (cat (exp (gen) y-0) l-0))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l) (y y-0) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 1) (7 0)) ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y l) (y (mul y-0 l-0)) (y-0 alpha)
    (y-0 chi) (y-0 l) (l-0 y-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 8 2 ltx-gen 2) l-1 (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul y-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) y-0)) (send (cat (exp (gen) y) y-0)))
    ((recv (cat (exp (gen) y-0) l-0)) (send (cat (exp (gen) y-0) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l))))))))
  (label 365)
  (parent 305)
  (unrealized (0 0) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi w expt) (y-0 l l-0 l-1 y-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 l-0 y-1)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w y-0 l-0 (rec l-1) y-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 l-0 y-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0 l-0 (rec l-1) y-1)))
  (deflistener (cat (exp (gen) y-1) (mul w y-0 l-0)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1)
  (uniq-gen x y y-1)
  (absent (x l) (x l-1) (y x) (y (mul w y-0 l-0 y-1)) (y l)
    (l-1 (mul w y-0 l-0 (rec l-1) y-1)) (y-1 alpha) (y-1 chi)
    (y-1 (mul w y-0 l-0)) (y-1 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-1 (mul w y-0 l-0))
    (mul w y-0 l-0) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w y-0 l-0 y-1)) (exp (gen) (mul x l))))
      (send
        (hash (exp (gen) (mul y w y-0 l-0 y-1)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0 l-0 (rec l-1) y-1))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-0 y-1))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0 l-0 y-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-0 y-1))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) (mul w y-0 l-0 (rec l-1) y-1)))
      (send (cat (exp (gen) y) (mul w y-0 l-0 (rec l-1) y-1))))
    ((recv (cat (exp (gen) y-1) (mul w y-0 l-0)))
      (send (cat (exp (gen) y-1) (mul w y-0 l-0))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l))))))))
  (label 366)
  (parent 305)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x y rndx)
    (alpha chi w expt) (y-0 l y-1 l-0 y-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
      (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w y-0 (rec y-1) (rec l-0) y-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 (rec y-1) y-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0 (rec y-1) (rec l-0) y-2)))
  (deflistener (cat (exp (gen) y-2) (mul w y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l) (y y-2) (alpha alpha) (chi chi))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-2)
  (absent (x l) (x l-0) (y x) (y (mul w y-0 (rec y-1) y-2)) (y l)
    (l-0 (mul w y-0 (rec y-1)))
    (l-0 (mul w y-0 (rec y-1) (rec l-0) y-2)) (y-2 alpha) (y-2 chi)
    (y-2 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-0 (mul w y-0 (rec y-1)))
    (mul w y-0 (rec y-1)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv
       (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
         (exp (gen) (mul x l))))
      (send
        (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
          (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0 (rec y-1) (rec l-0) y-2))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
              (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w y-0 (rec y-1) y-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
              (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) (mul w y-0 (rec y-1) (rec l-0) y-2)))
      (send (cat (exp (gen) y) (mul w y-0 (rec y-1) (rec l-0) y-2))))
    ((recv (cat (exp (gen) y-2) (mul w y-0 (rec y-1))))
      (send (cat (exp (gen) y-2) (mul w y-0 (rec y-1)))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-2)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-2))
              (exp (gen) (mul chi l))))))))
  (label 367)
  (parent 305)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 rndx) (w expt) (l-1 l-2 l-3 y-0 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w l-2 y-0))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-3) (x x) (beta l) (eta (mul y (rec l-0) w l-2 (rec l-3) y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-3))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w l-2 y-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w l-2 (rec l-3) y-0)))
  (deflistener (cat (exp (gen) y-0) (mul (rec l-0) w l-2)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1 l-3)
  (uniq-gen x y y-0)
  (absent (x l) (x l-3) (y l) (y x) (y (mul (rec l-0) w l-2 y-0))
    (y-0 alpha) (y-0 chi) (y-0 (mul (rec l-0) w l-2))
    (y-0 (mul (rec l-0) w l-2 (rec l-3) y-0)) (y-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-3) (pv b l) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-0 (mul (rec l-0) w l-2))
    (mul (rec l-0) w l-2) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w l-2 y-0))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w l-2 y-0))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-3)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w l-2 (rec l-3) y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-2 y-0))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-3))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l-0) w l-2 y-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w l-2 y-0))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w l-2 (rec l-3) y-0)))
      (send (cat (exp (gen) y) (mul (rec l-0) w l-2 (rec l-3) y-0))))
    ((recv (cat (exp (gen) y-0) (mul (rec l-0) w l-2)))
      (send (cat (exp (gen) y-0) (mul (rec l-0) w l-2))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 368)
  (parent 310)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 rndx) (w expt) (l-1 y-0 l-2 y-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y (rec l-0) w (rec y-0) y-1))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l)
    (eta (mul y (rec l-0) w (rec y-0) (rec l-2) y-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul (rec l-0) w (rec y-0) y-1)) (chi x))
  (deflistener
    (cat (exp (gen) y) (mul (rec l-0) w (rec y-0) (rec l-2) y-1)))
  (deflistener (cat (exp (gen) y-1) (mul (rec l-0) w (rec y-0))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y-1) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-1 l-2)
  (uniq-gen x y y-1)
  (absent (x l) (x l-2) (y l) (y x) (y (mul (rec l-0) w (rec y-0) y-1))
    (l-2 (mul (rec l-0) w (rec y-0))) (y-1 alpha) (y-1 chi)
    (y-1 (mul (rec l-0) w (rec y-0) (rec l-2) y-1)) (y-1 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l) (pv b-0 l-1))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-2 (mul (rec l-0) w (rec y-0)))
    (mul (rec l-0) w (rec y-0)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y (rec l-0) w (rec y-0) y-1))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y (rec l-0) w (rec y-0) y-1))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y (rec l-0) w (rec y-0) (rec l-2) y-1))
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w (rec y-0) y-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul (rec l-0) w (rec y-0) y-1))
            (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y (rec l-0) w (rec y-0) y-1))
              (exp (gen) (mul l x)))))))
    ((recv
       (cat (exp (gen) y) (mul (rec l-0) w (rec y-0) (rec l-2) y-1)))
      (send
        (cat (exp (gen) y) (mul (rec l-0) w (rec y-0) (rec l-2) y-1))))
    ((recv (cat (exp (gen) y-1) (mul (rec l-0) w (rec y-0))))
      (send (cat (exp (gen) y-1) (mul (rec l-0) w (rec y-0)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 369)
  (parent 310)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 y-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul y-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) y-0))
  (deflistener (cat (exp (gen) y-0) l-1))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (6 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul y-0 l-1)) (y-0 alpha)
    (y-0 chi) (y-0 l-0) (l-1 y-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 9 2 ltx-gen 2) l-2 (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul y-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) y-0)) (send (cat (exp (gen) y) y-0)))
    ((recv (cat (exp (gen) y-0) l-1)) (send (cat (exp (gen) y-0) l-1)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-0)))))
  (label 370)
  (parent 311)
  (unrealized (0 0) (5 0) (6 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi w expt) (y-0 l-0 l-1 l-2 y-1 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 l-1 y-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-2) (x x) (beta l) (eta (mul y w y-0 l-1 (rec l-2) y-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-2))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 l-1 y-1)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0 l-1 (rec l-2) y-1)))
  (deflistener (cat (exp (gen) y-1) (mul w y-0 l-1)))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-1) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-2)
  (uniq-gen x y y-1)
  (absent (x l) (x l-2) (y l) (y x) (y (mul w y-0 l-1 y-1))
    (l-2 (mul w y-0 l-1 (rec l-2) y-1)) (y-1 alpha) (y-1 chi)
    (y-1 (mul w y-0 l-1)) (y-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-2) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence y-1 (mul w y-0 l-1))
    (mul w y-0 l-1) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y w y-0 l-1 y-1)) (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w y-0 l-1 y-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-2)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0 l-1 (rec l-2) y-1))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-1 y-1))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-2))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w y-0 l-1 y-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 l-1 y-1))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w y-0 l-1 (rec l-2) y-1)))
      (send (cat (exp (gen) y) (mul w y-0 l-1 (rec l-2) y-1))))
    ((recv (cat (exp (gen) y-1) (mul w y-0 l-1)))
      (send (cat (exp (gen) y-1) (mul w y-0 l-1))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-0)))))
  (label 371)
  (parent 311)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi w expt) (y-0 l-0 y-1 l-1 y-2 rndx))
  (deflistener
    (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
      (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y w y-0 (rec y-1) (rec l-1) y-2)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w y-0 (rec y-1) y-2)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w y-0 (rec y-1) (rec l-1) y-2)))
  (deflistener (cat (exp (gen) y-2) (mul w y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-2) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((3 1) (4 0)) ((3 2) (1 1))
    ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3)) ((6 1) (4 1))
    ((7 3) (6 0)) ((8 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-2)
  (absent (x l) (x l-1) (y l) (y x) (y (mul w y-0 (rec y-1) y-2))
    (l-1 (mul w y-0 (rec y-1)))
    (l-1 (mul w y-0 (rec y-1) (rec l-1) y-2)) (y-2 alpha) (y-2 chi)
    (y-2 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation nonce-test (added-absence l-1 (mul w y-0 (rec y-1)))
    (mul w y-0 (rec y-1)) (6 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv
       (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
         (exp (gen) (mul l x))))
      (send
        (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
          (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w y-0 (rec y-1) (rec l-1) y-2))
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
              (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig
          (body a (exp (gen) (mul w y-0 (rec y-1) y-2)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w y-0 (rec y-1) y-2))
              (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w y-0 (rec y-1) (rec l-1) y-2)))
      (send (cat (exp (gen) y) (mul w y-0 (rec y-1) (rec l-1) y-2))))
    ((recv (cat (exp (gen) y-2) (mul w y-0 (rec y-1))))
      (send (cat (exp (gen) y-2) (mul w y-0 (rec y-1)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-2)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-2))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-0)))))
  (label 372)
  (parent 311)
  (unrealized (0 0) (1 3) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (x y l l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l))
  (deflistener (cat (exp (gen) l) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((3 2) (6 0)) ((4 3) (0 0)) ((4 3) (5 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y x) (y l) (y (mul l l-0)) (l-0 l))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6)
  (traces
    ((recv (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l))
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) l)) (send (cat (exp (gen) y) l)))
    ((recv (cat (exp (gen) l) l-0)) (send (cat (exp (gen) l) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 373)
  (parent 315)
  (unrealized (0 0) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 gen-st-ltx-disclose-0 trRl_ltx-disclose-at-0
    trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-1 (5 0)
    (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1)))
  (label 374)
  (parent 318)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (exp (gen) l-0) l-1))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)) ((8 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-1) (y l) (y x) (y (mul l-0 l-1)) (l-1 l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-1 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-1))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (exp (gen) l-0) l-1)) (send (cat (exp (gen) l-0) l-1)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-1)))
      (stor priv-stor (cat pt-5 "nil")) (send l-1)))
  (label 375)
  (parent 321)
  (unrealized (0 0) (5 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (a b b-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (x y rndx) (beta expt) (l x-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul x-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) x-0))
  (deflistener (cat (exp (gen) x-0) l-0))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor-0)
    (l l) (x x-0) (beta beta))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 1) (7 0)) ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-0)
  (absent (x l) (x l-0) (y x) (y l) (y (mul x-0 l-0)) (x-0 beta) (x-0 l)
    (l-0 x-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b b-0) (neq b-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0
    trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul x-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x-0 l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) x-0)) (send (cat (exp (gen) y) x-0)))
    ((recv (cat (exp (gen) x-0) l-0)) (send (cat (exp (gen) x-0) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-0))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 376)
  (parent 336)
  (unrealized (0 0) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx) (beta expt)
    (l-0 x-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y x-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul x-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) x-0))
  (deflistener (cat (exp (gen) x-0) l-1))
  (defstrand init 3 (na na-0) (a a-0) (b b-0) (priv-stor priv-stor-1)
    (l l-0) (x x-0) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a-0)
    (priv-stor priv-stor-1) (l l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (7 0)) ((9 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul x-0 l-1)) (x-0 beta)
    (x-0 l-0) (l-1 x-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv a-0 l-0))
  (facts (neq a-0 b-0) (neq b-0 a-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0
    trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-1 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-1))))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y x-0))
          (enc na nb a b
            (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul x-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y x-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) x-0)) (send (cat (exp (gen) y) x-0)))
    ((recv (cat (exp (gen) x-0) l-1)) (send (cat (exp (gen) x-0) l-1)))
    ((load priv-stor-1 (cat pt-3 (pv a-0 l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a-0 b-0 (exp (gen) x-0))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a-0 l-0))))
    ((load priv-stor (cat pt (pv a l-1)))
      (stor priv-stor (cat pt-5 "nil")) (send l-1)))
  (label 377)
  (parent 341)
  (unrealized (0 0) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (gen) (mul l-0 l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (6 0)) ((8 2) (7 0)) ((9 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (gen) (mul l-0 l-0))) (send (cat (gen) (mul l-0 l-0))))
    ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))))
  (label 378)
  (parent 344)
  (unrealized (9 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (9 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (0 0))
    ((9 1) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 379)
  (parent 345)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (9 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (0 0))
    ((9 1) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 380)
  (parent 345)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (l-0 (one)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))))
  (label 381)
  (parent 346)
  (unrealized (8 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y rndx) (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (gen) (mul w l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (6 0)) ((8 2) (7 0)) ((9 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)) (l-0 w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (gen) (mul w l-0))) (send (cat (gen) (mul w l-0))))
    ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))))
  (label 382)
  (parent 347)
  (unrealized (9 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y rndx) (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0))))
  (deflistener (cat (gen) w))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (5 0)) ((8 2) (7 0))
    ((9 1) (0 0)) ((10 1) (9 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (exp (gen) w) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0))))
      (send (cat (exp (gen) y) (mul w (rec l-0)))))
    ((recv (cat (gen) w)) (send (cat (gen) w))) ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 383)
  (parent 348)
  (unrealized (10 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y rndx) (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w (rec l-0))))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul w (rec l-0))))
  (deflistener (cat (gen) w))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y w)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (5 0)) ((8 2) (7 0))
    ((9 1) (0 0)) ((10 1) (9 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w (rec l-0)))
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv (sig (body a (exp (gen) w) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w (rec l-0))))
      (send (cat (exp (gen) y) (mul w (rec l-0)))))
    ((recv (cat (gen) w)) (send (cat (gen) w))) ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y w)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y w)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 384)
  (parent 348)
  (unrealized (10 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l l-0 rndx)
    (w expt) (x y rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-0)
    (eta (mul (rec l) w y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w)))
  (deflistener (cat (exp (gen) l) (mul (rec l) w)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (exp (gen) l-0) x))
  (precedes ((1 2) (3 2)) ((1 2) (9 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (4 0)) ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1))
    ((6 1) (1 0)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0))
    ((9 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l-0) (y w) (y x))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b self) (neq self b) (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-0) x))
    (exp (gen) (mul l-0 x)) (7 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (exp (gen) w) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w)))
      (send (cat (exp (gen) y) (mul (rec l) w))))
    ((recv (cat (exp (gen) l) (mul (rec l) w)))
      (send (cat (exp (gen) l) (mul (rec l) w))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (exp (gen) l-0) x)) (send (cat (exp (gen) l-0) x))))
  (label 385)
  (parent 351)
  (unrealized (1 3) (4 0) (5 0) (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l l-0 rndx)
    (w expt) (x y rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-0)
    (eta (mul (rec l) w y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w)))
  (deflistener (cat (exp (gen) l) (mul (rec l) w)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (exp (gen) x) l-0))
  (precedes ((1 2) (3 2)) ((1 2) (9 0)) ((2 1) (3 0)) ((2 2) (1 1))
    ((3 3) (4 0)) ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1))
    ((6 1) (1 0)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0))
    ((9 1) (7 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l-0) (y w) (y x))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b self) (neq self b) (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l-0))
    (exp (gen) (mul l-0 x)) (7 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y))
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (exp (gen) w) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w)))
      (send (cat (exp (gen) y) (mul (rec l) w))))
    ((recv (cat (exp (gen) l) (mul (rec l) w)))
      (send (cat (exp (gen) l) (mul (rec l) w))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul l-0 x)))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (exp (gen) x) l-0)) (send (cat (exp (gen) x) l-0))))
  (label 386)
  (parent 351)
  (unrealized (1 3) (4 0) (5 0) (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (b self b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (beta expt) (l rndx) (w expt) (x-0 y x-1 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-0)
    (eta (mul (rec l) w x-0 y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y) (alpha (mul w x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l) w x-0)))
  (deflistener (cat (exp (gen) l) (mul (rec l) w x-0)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 y (rec x-1))))
  (defstrand init 3 (na na-0) (a b) (b b-0) (priv-stor priv-stor)
    (l l-0) (x x-1) (beta beta))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 1) (9 0)) ((2 2) (1 1))
    ((3 3) (4 0)) ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1))
    ((6 1) (1 0)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0))
    ((9 2) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-1)
  (absent (x l) (x l-0) (y x) (y (mul w x-0)) (y l-0) (x-1 beta)
    (x-1 l-0))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b b-0) (neq b-0 b) (neq b self) (neq self b)
    (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((2 1) (9 0)) ((6 1) (1 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 10 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a l-1))) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w x-0 y))
          (enc na nb self b
            (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (exp (gen) (mul w x-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y) (mul (rec l) w x-0)))
      (send (cat (exp (gen) y) (mul (rec l) w x-0))))
    ((recv (cat (exp (gen) l) (mul (rec l) w x-0)))
      (send (cat (exp (gen) l) (mul (rec l) w x-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 y (rec x-1))))
      (send (cat (exp (gen) x-1) (mul w x-0 y (rec x-1)))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 b b-0 (exp (gen) x-1)))))
  (label 387)
  (parent 352)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 data) (b self b-0 name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x rndx)
    (beta w expt) (x-0 y x-1 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l)
    (eta (mul w x-0 y (rec l-0))))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul w x-0 (rec l-0))))
  (deflistener (cat (exp (gen) l-0) (mul w x-0 (rec l-0))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 y (rec x-1))))
  (defstrand init 3 (na na-0) (a self) (b b-0) (priv-stor priv-stor-0)
    (l l-0) (x x-1) (beta beta))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 1) (9 0)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0))
    ((9 2) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0)
  (uniq-gen x y x-1)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w x-0)) (x-1 beta)
    (x-1 l-0))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq self b-0) (neq b-0 self) (neq b self) (neq self b)
    (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)) ((6 1) (9 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 10 6 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a l-1))) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w x-0 y (rec l-0)))
          (enc na nb self b
            (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w x-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul w x-0 (rec l-0))))
      (send (cat (exp (gen) y) (mul w x-0 (rec l-0)))))
    ((recv (cat (exp (gen) l-0) (mul w x-0 (rec l-0))))
      (send (cat (exp (gen) l-0) (mul w x-0 (rec l-0)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 y (rec x-1))))
      (send (cat (exp (gen) x-1) (mul w x-0 y (rec x-1)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0)))
      (send (cat na-0 self b-0 (exp (gen) x-1)))))
  (label 388)
  (parent 352)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 data)
    (b self a b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x rndx) (beta expt)
    (l-0 rndx) (w expt) (x-0 y x-1 l-1 rndx))
  (deflistener (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l)
    (eta (mul (rec l-0) w x-0 y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha (mul w x-0)) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w x-0)))
  (deflistener (cat (exp (gen) l-0) (mul (rec l-0) w x-0)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x-1) (mul w x-0 y (rec x-1))))
  (defstrand init 3 (na na-0) (a a) (b b-0) (priv-stor priv-stor-1)
    (l l-1) (x x-1) (beta beta))
  (defstrand ltx-gen 2 (ignore ignore-1) (self a)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)) ((9 2) (8 0))
    ((10 1) (9 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb na-0 l l-0 l-1)
  (uniq-gen x y x-1)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w x-0)) (x-1 beta)
    (x-1 l-1))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-0) (pv a l-1))
  (facts (neq a b-0) (neq b-0 a) (neq b self) (neq self b)
    (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)) ((10 1) (9 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv a l-1))) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w x-0 y))
          (enc na nb self b
            (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w x-0)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w x-0)))
      (send (cat (exp (gen) y) (mul (rec l-0) w x-0))))
    ((recv (cat (exp (gen) l-0) (mul (rec l-0) w x-0)))
      (send (cat (exp (gen) l-0) (mul (rec l-0) w x-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w x-0 y)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x-1) (mul w x-0 y (rec x-1))))
      (send (cat (exp (gen) x-1) (mul w x-0 y (rec x-1)))))
    ((load priv-stor-1 (cat pt-3 (pv a l-1)))
      (recv
        (sig (body b-0 (exp (gen) beta) (pubk "sig" b-0))
          (privk "sig" b-0))) (send (cat na-0 a b-0 (exp (gen) x-1))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv a l-1)))))
  (label 389)
  (parent 352)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (b self name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x l-0 rndx)
    (w expt) (y rndx))
  (deflistener (hash (exp (gen) (mul w y)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l)
    (eta (mul (rec l-0) w y)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y) (alpha w) (chi x))
  (deflistener (cat (exp (gen) y) (mul (rec l-0) w)))
  (deflistener (cat (exp (gen) l-0) (mul (rec l-0) w)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul w y)) (exp (gen) (mul l x))))
  (deflistener (cat (gen) (mul w y)))
  (deflistener y)
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (9 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)) ((9 1) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y w))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq b self) (neq self b) (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)))
  (rule fact-resp-neq0 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener y) (mul w y) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul w y)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w y)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y))
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) w) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb self b
            (hash (exp (gen) (mul w y)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (mul (rec l-0) w)))
      (send (cat (exp (gen) y) (mul (rec l-0) w))))
    ((recv (cat (exp (gen) l-0) (mul (rec l-0) w)))
      (send (cat (exp (gen) l-0) (mul (rec l-0) w))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w y)) (exp (gen) (mul l x)))))
    ((recv (cat (gen) (mul w y))) (send (cat (gen) (mul w y))))
    ((recv y) (send y)))
  (label 390)
  (parent 353)
  (unrealized (1 3) (4 0) (5 0) (7 0) (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (b self a name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (x rndx)
    (alpha chi expt) (l rndx) (w expt) (y y-0 y-1 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul x l-0))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l) (x x) (beta l-0)
    (eta (mul (rec l) w y y-0)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l-0))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l-0) (y y-0) (alpha (mul w y)) (chi x))
  (deflistener (cat (exp (gen) y-0) (mul (rec l) w y)))
  (deflistener (cat (exp (gen) l) (mul (rec l) w y)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l))
  (deflistener (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul x l-0))))
  (deflistener (cat (exp (gen) y-1) (mul w y y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a) (b b)
    (priv-stor priv-stor) (l l-0) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 1) (9 0)) ((2 2) (1 1))
    ((3 3) (4 0)) ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1))
    ((6 1) (1 0)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0))
    ((9 3) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y-0 y-1)
  (absent (x l) (x l-0) (y-0 x) (y-0 (mul w y)) (y-0 l-0) (y-1 alpha)
    (y-1 chi) (y-1 l-0))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l-0) (pv self l))
  (facts (neq b a) (neq a b) (neq b self) (neq self b)
    (undisclosed l-0))
  (leads-to ((2 1) (3 0)) ((2 1) (9 0)) ((6 1) (1 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 10 2 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul x l-0))))
      (send (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul x l-0)))))
    ((load priv-stor-0 (cat pt-2 (pv self l)))
      (recv
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l) w y y-0))
          (enc na nb self b
            (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul x l-0)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l-0)))
      (send
        (sig (body b (exp (gen) l-0) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body self (exp (gen) (mul w y)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y-0)
          (enc na nb self b
            (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul x l-0)))))))
    ((recv (cat (exp (gen) y-0) (mul (rec l) w y)))
      (send (cat (exp (gen) y-0) (mul (rec l) w y))))
    ((recv (cat (exp (gen) l) (mul (rec l) w y)))
      (send (cat (exp (gen) l) (mul (rec l) w y))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l)))
      (send
        (sig (body self (exp (gen) l) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul x l-0))))
      (send (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul x l-0)))))
    ((recv (cat (exp (gen) y-1) (mul w y y-0 (rec y-1))))
      (send (cat (exp (gen) y-1) (mul w y y-0 (rec y-1)))))
    ((load priv-stor (cat pt-0 (pv b l-0)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na-0 a b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a b
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-0))))))))
  (label 391)
  (parent 356)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (b self a name)
    (pt pt-0 pt-1 pt-2 pval) (priv-stor priv-stor-0 locn) (l x rndx)
    (alpha chi w expt) (y y-0 y-1 l-0 rndx))
  (deflistener (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l)
    (eta (mul w y y-0 (rec l-0))))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y-0) (alpha (mul w y)) (chi x))
  (deflistener (cat (exp (gen) y-0) (mul w y (rec l-0))))
  (deflistener (cat (exp (gen) l-0) (mul w y (rec l-0))))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y-1) (mul w y y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a) (b self)
    (priv-stor priv-stor-0) (l l-0) (y y-1) (alpha alpha) (chi chi))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 1) (9 0)) ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0))
    ((9 3) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y-0 y-1)
  (absent (x l) (x l-0) (y-0 l) (y-0 x) (y-0 (mul w y)) (y-1 alpha)
    (y-1 chi) (y-1 l-0))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-0))
  (facts (neq self a) (neq a self) (neq b self) (neq self b)
    (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)) ((6 1) (9 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (displaced 10 6 ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul w y y-0 (rec l-0)))
          (enc na nb self b
            (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w y)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y-0)
          (enc na nb self b
            (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y-0) (mul w y (rec l-0))))
      (send (cat (exp (gen) y-0) (mul w y (rec l-0)))))
    ((recv (cat (exp (gen) l-0) (mul w y (rec l-0))))
      (send (cat (exp (gen) l-0) (mul w y (rec l-0)))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y-1) (mul w y y-0 (rec y-1))))
      (send (cat (exp (gen) y-1) (mul w y y-0 (rec y-1)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na-0 a self (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a self
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-0))))))))
  (label 392)
  (parent 356)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (b self a b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x rndx) (alpha chi expt)
    (l-0 rndx) (w expt) (y y-0 y-1 l-1 rndx))
  (deflistener (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a self) (b b)
    (priv-stor priv-stor-0) (l l-0) (x x) (beta l)
    (eta (mul (rec l-0) w y y-0)))
  (defstrand ltx-gen 3 (ignore ignore) (self b) (priv-stor priv-stor)
    (l l))
  (defstrand resp 4 (na na) (nb nb) (a self) (b b) (priv-stor priv-stor)
    (l l) (y y-0) (alpha (mul w y)) (chi x))
  (deflistener (cat (exp (gen) y-0) (mul (rec l-0) w y)))
  (deflistener (cat (exp (gen) l-0) (mul (rec l-0) w y)))
  (defstrand ltx-gen 3 (ignore ignore-0) (self self)
    (priv-stor priv-stor-0) (l l-0))
  (deflistener (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) y-1) (mul w y y-0 (rec y-1))))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a) (b b-0)
    (priv-stor priv-stor-1) (l l-1) (y y-1) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (3 2)) ((2 1) (3 0)) ((2 2) (1 1)) ((3 3) (4 0))
    ((3 3) (8 0)) ((4 1) (1 3)) ((5 1) (3 1)) ((6 1) (1 0))
    ((6 2) (5 0)) ((7 1) (0 0)) ((8 1) (7 0)) ((9 3) (8 0))
    ((10 1) (9 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y-0 y-1)
  (absent (x l) (x l-0) (y-0 l) (y-0 x) (y-0 (mul w y)) (y-1 alpha)
    (y-1 chi) (y-1 l-1))
  (precur (4 0) (5 0) (8 0))
  (gen-st (pv b l) (pv self l-0) (pv b-0 l-1))
  (facts (neq b-0 a) (neq a b-0) (neq b self) (neq self b)
    (undisclosed l))
  (leads-to ((2 1) (3 0)) ((6 1) (1 0)) ((10 1) (9 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-gen-at-0
    trRl_ltx-gen-at-1)
  (operation channel-test (added-strand ltx-gen 2)
    (ch-msg priv-stor-1 (cat pt-3 (pv b-0 l-1))) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))
    ((load priv-stor-0 (cat pt-2 (pv self l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na self b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul (rec l-0) w y y-0))
          (enc na nb self b
            (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt ignore))
      (stor priv-stor (cat pt-0 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor (cat pt-0 (pv b l)))
      (recv
        (sig (body self (exp (gen) (mul w y)) (pubk "sig" self))
          (privk "sig" self))) (recv (cat na self b (exp (gen) x)))
      (send
        (cat (exp (gen) y-0)
          (enc na nb self b
            (hash (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y-0) (mul (rec l-0) w y)))
      (send (cat (exp (gen) y-0) (mul (rec l-0) w y))))
    ((recv (cat (exp (gen) l-0) (mul (rec l-0) w y)))
      (send (cat (exp (gen) l-0) (mul (rec l-0) w y))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv self l-0)))
      (send
        (sig (body self (exp (gen) l-0) (pubk "sig" self))
          (privk "sig" self))))
    ((recv (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul w y y-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) y-1) (mul w y y-0 (rec y-1))))
      (send (cat (exp (gen) y-1) (mul w y y-0 (rec y-1)))))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-1)))
      (recv
        (sig (body a (exp (gen) alpha) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na-0 a b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-1)
          (enc na-0 nb-0 a b-0
            (hash (exp (gen) (mul alpha y-1))
              (exp (gen) (mul chi l-1)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-1)))))
  (label 393)
  (parent 356)
  (unrealized (1 3) (4 0) (5 0) (7 0) (8 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb na-0 nb-0 data) (a b a-0 name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (x y rndx) (alpha chi expt) (l y-0 l-0 rndx))
  (deflistener (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul y-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) y-0))
  (deflistener (cat (exp (gen) y-0) l-0))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b)
    (priv-stor priv-stor-0) (l l) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 1) (7 0)) ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 3) (6 0)) ((8 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0)
  (uniq-gen x y y-0)
  (absent (x l) (x l-0) (y x) (y l) (y (mul y-0 l-0)) (y-0 alpha)
    (y-0 chi) (y-0 l) (l-0 y-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a-0) (neq a-0 b) (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((3 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0
    trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-0 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-0))))
  (strand-map 0 1 2 3 4 5 6 7)
  (traces
    ((recv (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l))))
      (send (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul y-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y y-0 l-0)) (exp (gen) (mul x l)))))))
    ((recv (cat (exp (gen) y) y-0)) (send (cat (exp (gen) y) y-0)))
    ((recv (cat (exp (gen) y-0) l-0)) (send (cat (exp (gen) y-0) l-0)))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l)))))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0)))
  (label 394)
  (parent 365)
  (unrealized (0 0) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb na-0 nb-0 data)
    (a b a-0 b-0 name) (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y rndx)
    (alpha chi expt) (l-0 y-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-1) (x x) (beta l) (eta (mul y y-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-1))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul y-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) y-0))
  (deflistener (cat (exp (gen) y-0) l-1))
  (defstrand resp 4 (na na-0) (nb nb-0) (a a-0) (b b-0)
    (priv-stor priv-stor-1) (l l-0) (y y-0) (alpha alpha) (chi chi))
  (defstrand ltx-gen 2 (ignore ignore-1) (self b-0)
    (priv-stor priv-stor-1) (l l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 3) (6 0)) ((8 1) (7 0)) ((9 2) (6 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb nb-0 l l-0 l-1)
  (uniq-gen x y y-0)
  (absent (x l) (x l-1) (y l) (y x) (y (mul y-0 l-1)) (y-0 alpha)
    (y-0 chi) (y-0 l-0) (l-1 y-0))
  (precur (5 0) (6 0))
  (gen-st (pv a l-1) (pv b l) (pv b-0 l-0))
  (facts (neq b-0 a-0) (neq a-0 b-0) (neq b a) (neq a b)
    (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (9 0)) ((3 1) (4 0)) ((8 1) (7 0)))
  (rule fact-init-neq0 fact-resp-neq0 trRl_ltx-disclose-at-0
    trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-1 (6 0)
    (ch-msg priv-stor (cat pt (pv a l-1))))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-1)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y y-0))
          (enc na nb a b
            (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-1))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul y-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y y-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) y-0)) (send (cat (exp (gen) y) y-0)))
    ((recv (cat (exp (gen) y-0) l-1)) (send (cat (exp (gen) y-0) l-1)))
    ((load priv-stor-1 (cat pt-3 (pv b-0 l-0)))
      (recv
        (sig (body a-0 (exp (gen) alpha) (pubk "sig" a-0))
          (privk "sig" a-0))) (recv (cat na-0 a-0 b-0 (exp (gen) chi)))
      (send
        (cat (exp (gen) y-0)
          (enc na-0 nb-0 a-0 b-0
            (hash (exp (gen) (mul alpha y-0))
              (exp (gen) (mul chi l-0)))))))
    ((load priv-stor-1 (cat pt-4 ignore-1))
      (stor priv-stor-1 (cat pt-3 (pv b-0 l-0))))
    ((load priv-stor (cat pt (pv a l-1)))
      (stor priv-stor (cat pt-5 "nil")) (send l-1)))
  (label 395)
  (parent 370)
  (unrealized (0 0) (5 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (10 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))))
  (label 396)
  (parent 374)
  (unrealized (10 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (0 0)) ((4 3) (5 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 gen-st-ltx-disclose-0 trRl_ltx-disclose-at-0
    trRl_ltx-disclose-at-1 trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-strand ltx-disclose 3) l-1 (5 0)
    (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1)))
  (label 397)
  (parent 375)
  (unrealized (0 0))
  (comment "1 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (gen) (mul l-0 l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (6 0)) ((8 2) (7 0))
    ((9 1) (0 0)) ((10 1) (9 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (gen) (mul l-0 l-0))) (send (cat (gen) (mul l-0 l-0))))
    ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 398)
  (parent 378)
  (unrealized (10 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-0)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-0)) (chi x))
  (deflistener (cat (exp (gen) y) l-0))
  (deflistener (cat (gen) (mul l-0 l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (6 0)) ((8 2) (7 0))
    ((9 1) (0 0)) ((10 1) (9 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-0)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-0))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-0)) (send (cat (exp (gen) y) l-0)))
    ((recv (cat (gen) (mul l-0 l-0))) (send (cat (gen) (mul l-0 l-0))))
    ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 399)
  (parent 378)
  (unrealized (10 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (9 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (0 0))
    ((9 1) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (l-0 (one)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 400)
  (parent 381)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y l-0 rndx))
  (deflistener (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta y))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha l-0) (chi x))
  (deflistener (cat (exp (gen) y) (one)))
  (deflistener (cat (gen) l-0))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (9 0)) ((2 1) (1 0)) ((2 1) (7 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (8 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 2) (6 0)) ((8 1) (0 0))
    ((9 1) (8 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y l-0) (l-0 (one)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (7 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (8 0))
  (strand-map 0 1 2 3 4 5 6 7 8)
  (traces
    ((recv (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) l-0) (pubk "sig" a)) (privk "sig" a)))
      (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) (one))) (send (cat (exp (gen) y) (one))))
    ((recv (cat (gen) l-0)) (send (cat (gen) l-0)))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 401)
  (parent 381)
  (unrealized (9 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y rndx) (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (gen) (mul w l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (6 0)) ((8 2) (7 0))
    ((9 1) (0 0)) ((10 1) (9 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)) (l-0 w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (gen) (mul w l-0))) (send (cat (gen) (mul w l-0))))
    ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 402)
  (parent 382)
  (unrealized (10 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 mesg) (na nb data) (a b name)
    (pt pt-0 pt-1 pt-2 pt-3 pval) (priv-stor priv-stor-0 locn)
    (l x y rndx) (w expt) (l-0 rndx))
  (deflistener (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y w)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul w l-0)) (chi x))
  (deflistener (cat (exp (gen) y) w))
  (deflistener (cat (gen) (mul w l-0)))
  (deflistener l-0)
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (deflistener (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (10 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (9 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (6 0)) ((8 2) (7 0))
    ((9 1) (0 0)) ((10 1) (9 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul w l-0)) (l-0 w))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (9 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y w))
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul w l-0)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) w)) (send (cat (exp (gen) y) w)))
    ((recv (cat (gen) (mul w l-0))) (send (cat (gen) (mul w l-0))))
    ((recv l-0) (send l-0))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-3 "nil")) (send l-0))
    ((recv (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y w l-0)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 403)
  (parent 382)
  (unrealized (10 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-0)) l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul y l-0)) l-1))
    (exp (gen) (mul y l-0 l-1)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-0)) l-1))
      (send (cat (exp (gen) (mul y l-0)) l-1))))
  (label 404)
  (parent 396)
  (seen 408)
  (seen-ops
    (408
      (operation nonce-test (added-strand ltx-disclose 3) l-1 (11 0)
        (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
      (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)))
  (unrealized (10 0) (11 0))
  (comment "2 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul y l-1)) l-0))
    (exp (gen) (mul y l-0 l-1)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0))))
  (label 405)
  (parent 396)
  (unrealized (10 0) (11 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul l-0 l-1)) y))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul l-0 l-1)) y))
    (exp (gen) (mul y l-0 l-1)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul l-0 l-1)) y))
      (send (cat (exp (gen) (mul l-0 l-1)) y))))
  (label 406)
  (parent 396)
  (unrealized (10 0) (11 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (10 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation encryption-test
    (added-listener
      (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
    (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))) (0 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))))
  (label 407)
  (parent 397)
  (unrealized (10 0))
  (comment "3 in cohort - 3 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-0)) l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((9 2) (11 0)) ((10 1) (0 0)) ((11 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 12 9 ltx-disclose 3) l-1 (11 0)
    (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-0)) l-1))
      (send (cat (exp (gen) (mul y l-0)) l-1))))
  (label 408)
  (parent 404)
  (unrealized (10 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) y) l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)) ((12 1) (11 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) y) l-1))
    (exp (gen) (mul y l-1)) (11 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1))))
  (label 409)
  (parent 405)
  (seen 416)
  (seen-ops
    (416
      (operation nonce-test (added-strand ltx-disclose 3) l-1 (12 0)
        (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
      (strand-map 0 1 2 3 4 5 6 7 8 9 10 11 12)))
  (unrealized (10 0) (12 0))
  (comment "2 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) l-1) y))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)) ((12 1) (11 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-1) y))
    (exp (gen) (mul y l-1)) (11 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) l-1) y)) (send (cat (exp (gen) l-1) y))))
  (label 410)
  (parent 405)
  (unrealized (10 0) (12 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-0)) l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul y l-0)) l-1))
    (exp (gen) (mul y l-0 l-1)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-0)) l-1))
      (send (cat (exp (gen) (mul y l-0)) l-1))))
  (label 411)
  (parent 407)
  (seen 417)
  (seen-ops
    (417
      (operation nonce-test (added-strand ltx-disclose 3) l-1 (11 0)
        (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
      (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)))
  (unrealized (10 0) (11 0))
  (comment "2 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul y l-1)) l-0))
    (exp (gen) (mul y l-0 l-1)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0))))
  (label 412)
  (parent 407)
  (unrealized (10 0) (11 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul l-0 l-1)) y))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test
    (added-listener (cat (exp (gen) (mul l-0 l-1)) y))
    (exp (gen) (mul y l-0 l-1)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul l-0 l-1)) y))
      (send (cat (exp (gen) (mul l-0 l-1)) y))))
  (label 413)
  (parent 407)
  (unrealized (10 0) (11 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-0)) l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (12 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0))
    ((8 2) (6 0)) ((9 2) (5 0)) ((9 2) (11 0)) ((10 1) (0 0))
    ((11 1) (10 0)) ((12 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-0)) l-1))
      (send (cat (exp (gen) (mul y l-0)) l-1)))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 414)
  (parent 408)
  (unrealized (12 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-0)) l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (12 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0))
    ((8 2) (6 0)) ((9 2) (5 0)) ((9 2) (11 0)) ((10 1) (0 0))
    ((11 1) (10 0)) ((12 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-0)) l-1))
      (send (cat (exp (gen) (mul y l-0)) l-1)))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 415)
  (parent 408)
  (unrealized (12 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) y) l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((9 2) (12 0)) ((10 1) (0 0)) ((11 1) (10 0))
    ((12 1) (11 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 13 9 ltx-disclose 3) l-1 (12 0)
    (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11 12)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1))))
  (label 416)
  (parent 409)
  (unrealized (10 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-0)) l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((9 2) (11 0)) ((10 1) (0 0)) ((11 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 12 9 ltx-disclose 3) l-1 (11 0)
    (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-0)) l-1))
      (send (cat (exp (gen) (mul y l-0)) l-1))))
  (label 417)
  (parent 411)
  (unrealized (10 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) y) l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)) ((12 1) (11 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) y) l-1))
    (exp (gen) (mul y l-1)) (11 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1))))
  (label 418)
  (parent 412)
  (seen 424)
  (seen-ops
    (424
      (operation nonce-test (added-strand ltx-disclose 3) l-1 (12 0)
        (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
      (strand-map 0 1 2 3 4 5 6 7 8 9 10 11 12)))
  (unrealized (10 0) (12 0))
  (comment "2 in cohort - 1 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) l-1) y))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((10 1) (0 0)) ((11 1) (10 0)) ((12 1) (11 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l-1) y))
    (exp (gen) (mul y l-1)) (11 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) l-1) y)) (send (cat (exp (gen) l-1) y))))
  (label 419)
  (parent 412)
  (unrealized (10 0) (12 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (13 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0))
    ((8 2) (6 0)) ((9 2) (5 0)) ((9 2) (12 0)) ((10 1) (0 0))
    ((11 1) (10 0)) ((12 1) (11 0)) ((13 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11 12)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 420)
  (parent 416)
  (unrealized (13 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (13 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0))
    ((8 2) (6 0)) ((9 2) (5 0)) ((9 2) (12 0)) ((10 1) (0 0))
    ((11 1) (10 0)) ((12 1) (11 0)) ((13 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11 12)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 421)
  (parent 416)
  (unrealized (13 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-0)) l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (12 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0))
    ((8 2) (6 0)) ((9 2) (5 0)) ((9 2) (11 0)) ((10 1) (0 0))
    ((11 1) (10 0)) ((12 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-0)) l-1))
      (send (cat (exp (gen) (mul y l-0)) l-1)))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 422)
  (parent 417)
  (unrealized (12 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-0)) l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (12 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (11 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0))
    ((8 2) (6 0)) ((9 2) (5 0)) ((9 2) (11 0)) ((10 1) (0 0))
    ((11 1) (10 0)) ((12 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-0)) l-1))
      (send (cat (exp (gen) (mul y l-0)) l-1)))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 423)
  (parent 417)
  (unrealized (12 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) y) l-1))
  (precedes ((1 2) (4 2)) ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0))
    ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0)) ((5 1) (1 3))
    ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0)) ((8 2) (6 0))
    ((9 2) (5 0)) ((9 2) (12 0)) ((10 1) (0 0)) ((11 1) (10 0))
    ((12 1) (11 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (displaced 13 9 ltx-disclose 3) l-1 (12 0)
    (ch-msg priv-stor-1 (cat pt-4 (pv self l-1))))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11 12)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1))))
  (label 424)
  (parent 418)
  (unrealized (10 0))
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l) x))
  (precedes ((1 2) (4 2)) ((1 2) (13 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0))
    ((8 2) (6 0)) ((9 2) (5 0)) ((9 2) (12 0)) ((10 1) (0 0))
    ((11 1) (10 0)) ((12 1) (11 0)) ((13 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) l) x))
    (exp (gen) (mul l x)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11 12)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l) x)) (send (cat (exp (gen) l) x))))
  (label 425)
  (parent 424)
  (unrealized (13 0))
  (dead)
  (comment "empty cohort"))

(defskeleton dhcr-umx
  (vars (ignore ignore-0 ignore-1 mesg) (na nb data) (a b self name)
    (pt pt-0 pt-1 pt-2 pt-3 pt-4 pt-5 pt-6 pval)
    (priv-stor priv-stor-0 priv-stor-1 locn) (l x y l-0 l-1 rndx))
  (deflistener (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (defstrand init 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor)
    (l l-0) (x x) (beta l) (eta (mul y l-1)))
  (defstrand ltx-gen 2 (ignore ignore) (self a) (priv-stor priv-stor)
    (l l-0))
  (defstrand ltx-gen 3 (ignore ignore-0) (self b)
    (priv-stor priv-stor-0) (l l))
  (defstrand resp 4 (na na) (nb nb) (a a) (b b) (priv-stor priv-stor-0)
    (l l) (y y) (alpha (mul l-0 l-1)) (chi x))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) l-1) l-0))
  (defstrand ltx-gen 3 (ignore ignore-1) (self self)
    (priv-stor priv-stor-1) (l l-1))
  (defstrand ltx-disclose 3 (self a) (priv-stor priv-stor) (l l-0))
  (defstrand ltx-disclose 3 (self self) (priv-stor priv-stor-1) (l l-1))
  (deflistener (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
  (deflistener (cat (exp (gen) (mul y l-1)) l-0))
  (deflistener (cat (exp (gen) y) l-1))
  (deflistener (cat (exp (gen) x) l))
  (precedes ((1 2) (4 2)) ((1 2) (13 0)) ((2 1) (1 0)) ((2 1) (8 0))
    ((3 1) (4 0)) ((3 2) (1 1)) ((4 3) (5 0)) ((4 3) (12 0))
    ((5 1) (1 3)) ((6 1) (4 1)) ((7 1) (9 0)) ((7 2) (6 0))
    ((8 2) (6 0)) ((9 2) (5 0)) ((9 2) (12 0)) ((10 1) (0 0))
    ((11 1) (10 0)) ((12 1) (11 0)) ((13 1) (10 0)))
  (non-orig (privk "sig" b))
  (uniq-orig na nb l l-0 l-1)
  (uniq-gen x y)
  (absent (x l) (x l-0) (y l) (y x) (y (mul l-0 l-1)) (l-0 l-1))
  (precur (5 0) (6 0))
  (gen-st (pv a l-0) (pv b l) (pv self l-1))
  (facts (neq b a) (neq a b) (undisclosed l))
  (leads-to ((2 1) (1 0)) ((2 1) (8 0)) ((3 1) (4 0)) ((7 1) (9 0)))
  (rule fact-resp-neq0 trRl_ltx-disclose-at-0 trRl_ltx-disclose-at-1
    trRl_ltx-gen-at-0 trRl_ltx-gen-at-1)
  (operation nonce-test (added-listener (cat (exp (gen) x) l))
    (exp (gen) (mul l x)) (10 0))
  (strand-map 0 1 2 3 4 5 6 7 8 9 10 11 12)
  (traces
    ((recv (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((load priv-stor (cat pt (pv a l-0)))
      (recv (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b)))
      (send (cat na a b (exp (gen) x)))
      (recv
        (cat (exp (gen) (mul y l-1))
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((load priv-stor (cat pt-0 ignore))
      (stor priv-stor (cat pt (pv a l-0))))
    ((load priv-stor-0 (cat pt-1 ignore-0))
      (stor priv-stor-0 (cat pt-2 (pv b l)))
      (send
        (sig (body b (exp (gen) l) (pubk "sig" b)) (privk "sig" b))))
    ((load priv-stor-0 (cat pt-2 (pv b l)))
      (recv
        (sig (body a (exp (gen) (mul l-0 l-1)) (pubk "sig" a))
          (privk "sig" a))) (recv (cat na a b (exp (gen) x)))
      (send
        (cat (exp (gen) y)
          (enc na nb a b
            (hash (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) l-1) l-0)) (send (cat (exp (gen) l-1) l-0)))
    ((load priv-stor-1 (cat pt-3 ignore-1))
      (stor priv-stor-1 (cat pt-4 (pv self l-1)))
      (send
        (sig (body self (exp (gen) l-1) (pubk "sig" self))
          (privk "sig" self))))
    ((load priv-stor (cat pt (pv a l-0)))
      (stor priv-stor (cat pt-5 "nil")) (send l-0))
    ((load priv-stor-1 (cat pt-4 (pv self l-1)))
      (stor priv-stor-1 (cat pt-6 "nil")) (send l-1))
    ((recv (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x))))
      (send (cat (exp (gen) (mul y l-0 l-1)) (exp (gen) (mul l x)))))
    ((recv (cat (exp (gen) (mul y l-1)) l-0))
      (send (cat (exp (gen) (mul y l-1)) l-0)))
    ((recv (cat (exp (gen) y) l-1)) (send (cat (exp (gen) y) l-1)))
    ((recv (cat (exp (gen) x) l)) (send (cat (exp (gen) x) l))))
  (label 426)
  (parent 424)
  (unrealized (13 0))
  (dead)
  (comment "empty cohort"))

(comment "Nothing left to do")