    (herald "Equality constraint test protocol"
      (comment "First skeleton should have a shape,"
        "second, and hird should be dead."))
    (comment "CPSA 3.6.2")
    (comment "All input read from eq_test.scm")

Trees: 0 2 4.

Tree 0.

    (defprotocol eqtest basic
      (defrole init
        (vars (n1 n2 text) (k skey))
        (trace (send (cat n1 (enc n1 n2 k))) (recv n2))
        (non-orig k)
        (uniq-orig n1 n2)))

Item 0, Child: 1.

    (defskeleton eqtest
      (vars (n1 n2 text) (k skey))
      (defstrand init 2 (n1 n1) (n2 n2) (k k))
      (non-orig k)
      (uniq-orig n1 n2)
      (label 0)
      (unrealized (0 1))
      (origs (n1 (0 0)) (n2 (0 0)))
      (comment "1 in cohort - 1 not yet seen"))

Item 1, Parent: 0.

    (defskeleton eqtest
      (vars (n1 text) (k skey))
      (defstrand init 2 (n1 n1) (n2 n1) (k k))
      (non-orig k)
      (uniq-orig n1)
      (operation nonce-test (displaced 1 0 init 1) n2 (0 1) (enc n1 n2 k))
      (label 1)
      (parent 0)
      (unrealized)
      (shape)
      (maps ((0) ((n1 n1) (n2 n1) (k k))))
      (origs (n1 (0 0))))

Tree 2.

    (defprotocol eqtest basic
      (defrole init
        (vars (n1 n2 text) (k skey))
        (trace (send (cat n1 (enc n1 n2 k))) (recv n2))
        (non-orig k)
        (uniq-orig n1 n2)))

Item 2, Child: 3.

    (defskeleton eqtest
      (vars (n1 n2 text) (k skey))
      (defstrand init 2 (n1 n1) (n2 n2) (k k))
      (non-orig k)
      (uniq-orig n1 n2)
      (label 2)
      (unrealized (0 1))
      (origs (n1 (0 0)) (n2 (0 0)))
      (comment "1 in cohort - 1 not yet seen"))

Item 3, Parent: 2.

    (defskeleton eqtest
      (vars (n1 text) (k skey))
      (defstrand init 2 (n1 n1) (n2 n1) (k k))
      (non-orig k)
      (uniq-orig n1)
      (operation nonce-test (displaced 1 0 init 1) n2 (0 1) (enc n1 n2 k))
      (label 3)
      (parent 2)
      (unrealized)
      (shape)
      (maps ((0) ((n1 n1) (n2 n1) (k k))))
      (origs (n1 (0 0))))

Tree 4.

    (defprotocol eqtest basic
      (defrole init
        (vars (n1 n2 text) (k skey))
        (trace (send (cat n1 (enc n1 n2 k))) (recv n2))
        (non-orig k)
        (uniq-orig n1 n2)))

Item 4, Child: 5.

    (defskeleton eqtest
      (vars (n1 n2 text) (k skey))
      (defstrand init 2 (n1 n1) (n2 n2) (k k))
      (fn-of ("foo" (n1 "bar") (n2 "bar")))
      (non-orig k)
      (uniq-orig n1 n2)
      (label 4)
      (unrealized (0 1))
      (origs (n1 (0 0)) (n2 (0 0)))
      (preskeleton)
      (comment "Not a skeleton"))

Item 5, Parent: 4.

    (defskeleton eqtest
      (vars (n2 text) (k skey))
      (defstrand init 2 (n1 n2) (n2 n2) (k k))
      (fn-of ("foo" (n2 "bar")))
      (non-orig k)
      (uniq-orig n2)
      (label 5)
      (parent 4)
      (unrealized)
      (shape)
      (maps ((0) ((n2 n2) (k k))))
      (origs (n2 (0 0))))