packages feed

cpsa-4.4.4: tst/bug_example_shapes.tst

(comment "CPSA 4.3.1")
(comment "Extracted shapes")

(herald bug_example (bound 20))

(comment "CPSA 4.3.1")

(comment "All input read from tst/bug_example.scm")

(comment "Strand count bounded at 20")

(defprotocol bug_example basic
  (defrole init
    (vars (x y akey))
    (trace (send (enc y (hash x (invk y)))))
    (non-orig (invk x) (invk y)))
  (defrole resp
    (vars (x y akey))
    (trace (recv (enc y (hash (invk x) y))))
    (non-orig (invk x) (invk y)))
  (defrole flip
    (vars (k k1 k2 akey))
    (trace (recv (enc k (hash k1 k2)))
      (send (enc k (hash (invk k1) (invk k2))))))
  (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)))))

(defskeleton bug_example
  (vars (x y akey))
  (defstrand resp 1 (x x) (y y))
  (non-orig (invk x) (invk y))
  (traces ((recv (enc y (hash (invk x) y)))))
  (label 0)
  (unrealized (0 0))
  (origs)
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton bug_example
  (vars (x k2 akey))
  (defstrand resp 1 (x x) (y (invk k2)))
  (defstrand flip 2 (k (invk k2)) (k1 x) (k2 k2))
  (defstrand init 1 (x x) (y (invk k2)))
  (precedes ((1 1) (0 0)) ((2 0) (1 0)))
  (non-orig k2 (invk x))
  (operation encryption-test (added-strand init 1)
    (enc (invk k2) (hash x k2)) (1 0))
  (traces ((recv (enc (invk k2) (hash (invk x) (invk k2)))))
    ((recv (enc (invk k2) (hash x k2)))
      (send (enc (invk k2) (hash (invk x) (invk k2)))))
    ((send (enc (invk k2) (hash x k2)))))
  (label 3)
  (parent 0)
  (realized)
  (shape)
  (maps ((0) ((x x) (y (invk k2)))))
  (origs))

(comment "Nothing left to do")

(defprotocol bug_example basic
  (defrole init
    (vars (x y akey))
    (trace (send (enc y (hash x (invk y)))))
    (non-orig (invk x) (invk y)))
  (defrole resp
    (vars (x y akey))
    (trace (recv (enc y (hash (invk x) y))))
    (non-orig (invk x) (invk y)))
  (defrole flip1
    (vars (k k1 k2 akey))
    (trace (recv (enc k (hash (invk k1) k2)))
      (send (enc k (hash k1 (invk k2))))))
  (defrole flip2
    (vars (k k1 k2 akey))
    (trace (recv (enc k (hash k1 (invk k2))))
      (send (enc k (hash (invk k1) k2)))))
  (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)))))

(defskeleton bug_example
  (vars (x y akey))
  (defstrand resp 1 (x x) (y y))
  (non-orig (invk x) (invk y))
  (traces ((recv (enc y (hash (invk x) y)))))
  (label 8)
  (unrealized (0 0))
  (origs)
  (comment "2 in cohort - 2 not yet seen"))

(defskeleton bug_example
  (vars (x y akey))
  (defstrand resp 1 (x x) (y y))
  (defstrand flip2 2 (k y) (k1 x) (k2 y))
  (defstrand init 1 (x x) (y y))
  (precedes ((1 1) (0 0)) ((2 0) (1 0)))
  (non-orig (invk x) (invk y))
  (operation encryption-test (added-strand init 1)
    (enc y (hash x (invk y))) (1 0))
  (traces ((recv (enc y (hash (invk x) y))))
    ((recv (enc y (hash x (invk y)))) (send (enc y (hash (invk x) y))))
    ((send (enc y (hash x (invk y))))))
  (label 11)
  (parent 8)
  (realized)
  (shape)
  (maps ((0) ((x x) (y y))))
  (origs))

(comment "Nothing left to do")