You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pure func get_e_Alice_send_placeDst(tami_p Place, ridA Term, A Term, B Term, skA Term, skB Term, x Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (placeDst Place)
func internBIO_e_Alice_send(tami_p Place, ridA Term, A Term, B Term, skA Term, skB Term, x Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (tami_pp Place)
26
26
27
27
28
28
// permission e_Alice_recvAndSend
29
29
pred e_Alice_recvAndSend(ghost tami_p Place, ghost ridA Term, ghost A Term, ghost B Term, ghost skA Term, ghost skB Term, ghost x Term, ghost Y Term, ghost tami_lp mset[Fact], ghost tami_ap mset[Claim], ghost tami_rp mset[Fact])
30
30
31
31
ghost
32
-
decreases
33
32
requires e_Alice_recvAndSend(tami_p, ridA, A, B, skA, skB, x, Y, tami_lp, tami_ap, tami_rp)
33
+
decreases
34
34
pure func get_e_Alice_recvAndSend_placeDst(tami_p Place, ridA Term, A Term, B Term, skA Term, skB Term, x Term, Y Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (placeDst Place)
35
35
36
36
ghost
37
-
decreases
38
37
requires token(tami_p) && e_Alice_recvAndSend(tami_p, ridA, A, B, skA, skB, x, Y, tami_lp, tami_ap, tami_rp)
39
38
ensures token(tami_pp) && tami_pp == old(get_e_Alice_recvAndSend_placeDst(tami_p, ridA, A, B, skA, skB, x, Y, tami_lp, tami_ap, tami_rp))
39
+
decreases
40
40
func internBIO_e_Alice_recvAndSend(tami_p Place, ridA Term, A Term, B Term, skA Term, skB Term, x Term, Y Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (tami_pp Place)
41
41
42
42
43
43
// permission e_Alice_sendMsg
44
44
pred e_Alice_sendMsg(ghost tami_p Place, ghost ridA Term, ghost A Term, ghost B Term, ghost skA Term, ghost skB Term, ghost x Term, ghost Y Term, ghost msgIn Term, ghost tami_lp mset[Fact], ghost tami_ap mset[Claim], ghost tami_rp mset[Fact])
45
45
46
46
ghost
47
-
decreases
48
47
requires e_Alice_sendMsg(tami_p, ridA, A, B, skA, skB, x, Y, msgIn, tami_lp, tami_ap, tami_rp)
48
+
decreases
49
49
pure func get_e_Alice_sendMsg_placeDst(tami_p Place, ridA Term, A Term, B Term, skA Term, skB Term, x Term, Y Term, msgIn Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (placeDst Place)
50
50
51
51
ghost
52
-
decreases
53
52
requires token(tami_p) && e_Alice_sendMsg(tami_p, ridA, A, B, skA, skB, x, Y, msgIn, tami_lp, tami_ap, tami_rp)
54
53
ensures token(tami_pp) && tami_pp == old(get_e_Alice_sendMsg_placeDst(tami_p, ridA, A, B, skA, skB, x, Y, msgIn, tami_lp, tami_ap, tami_rp))
54
+
decreases
55
55
func internBIO_e_Alice_sendMsg(tami_p Place, ridA Term, A Term, B Term, skA Term, skB Term, x Term, Y Term, msgIn Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (tami_pp Place)
56
56
57
57
58
58
// permission e_Alice_recvMsg
59
59
pred e_Alice_recvMsg(ghost tami_p Place, ghost ridA Term, ghost A Term, ghost B Term, ghost skA Term, ghost skB Term, ghost x Term, ghost Y Term, ghost msgOut Term, ghost tami_lp mset[Fact], ghost tami_ap mset[Claim], ghost tami_rp mset[Fact])
60
60
61
61
ghost
62
-
decreases
63
62
requires e_Alice_recvMsg(tami_p, ridA, A, B, skA, skB, x, Y, msgOut, tami_lp, tami_ap, tami_rp)
63
+
decreases
64
64
pure func get_e_Alice_recvMsg_placeDst(tami_p Place, ridA Term, A Term, B Term, skA Term, skB Term, x Term, Y Term, msgOut Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (placeDst Place)
65
65
66
66
ghost
67
-
decreases
68
67
requires token(tami_p) && e_Alice_recvMsg(tami_p, ridA, A, B, skA, skB, x, Y, msgOut, tami_lp, tami_ap, tami_rp)
69
68
ensures token(tami_pp) && tami_pp == old(get_e_Alice_recvMsg_placeDst(tami_p, ridA, A, B, skA, skB, x, Y, msgOut, tami_lp, tami_ap, tami_rp))
69
+
decreases
70
70
func internBIO_e_Alice_recvMsg(tami_p Place, ridA Term, A Term, B Term, skA Term, skB Term, x Term, Y Term, msgOut Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (tami_pp Place)
pred e_Bob_recvAndSend(ghost tami_p Place, ghost ridB Term, ghost B Term, ghost A Term, ghost skB Term, ghost skA Term, ghost y Term, ghost X Term, ghost tami_lp mset[Fact], ghost tami_ap mset[Claim], ghost tami_rp mset[Fact])
15
15
16
16
ghost
17
-
decreases
18
17
requires e_Bob_recvAndSend(tami_p, ridB, B, A, skB, skA, y, X, tami_lp, tami_ap, tami_rp)
18
+
decreases
19
19
pure func get_e_Bob_recvAndSend_placeDst(tami_p Place, ridB Term, B Term, A Term, skB Term, skA Term, y Term, X Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (placeDst Place)
20
20
21
21
ghost
22
-
decreases
23
22
requires token(tami_p) && e_Bob_recvAndSend(tami_p, ridB, B, A, skB, skA, y, X, tami_lp, tami_ap, tami_rp)
24
23
ensures token(tami_pp) && tami_pp == old(get_e_Bob_recvAndSend_placeDst(tami_p, ridB, B, A, skB, skA, y, X, tami_lp, tami_ap, tami_rp))
24
+
decreases
25
25
func internBIO_e_Bob_recvAndSend(tami_p Place, ridB Term, B Term, A Term, skB Term, skA Term, y Term, X Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (tami_pp Place)
26
26
27
27
28
28
// permission e_Bob_recv
29
29
pred e_Bob_recv(ghost tami_p Place, ghost ridB Term, ghost B Term, ghost A Term, ghost skB Term, ghost skA Term, ghost y Term, ghost X Term, ghost tami_lp mset[Fact], ghost tami_ap mset[Claim], ghost tami_rp mset[Fact])
30
30
31
31
ghost
32
-
decreases
33
32
requires e_Bob_recv(tami_p, ridB, B, A, skB, skA, y, X, tami_lp, tami_ap, tami_rp)
33
+
decreases
34
34
pure func get_e_Bob_recv_placeDst(tami_p Place, ridB Term, B Term, A Term, skB Term, skA Term, y Term, X Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (placeDst Place)
35
35
36
36
ghost
37
-
decreases
38
37
requires token(tami_p) && e_Bob_recv(tami_p, ridB, B, A, skB, skA, y, X, tami_lp, tami_ap, tami_rp)
39
38
ensures token(tami_pp) && tami_pp == old(get_e_Bob_recv_placeDst(tami_p, ridB, B, A, skB, skA, y, X, tami_lp, tami_ap, tami_rp))
39
+
decreases
40
40
func internBIO_e_Bob_recv(tami_p Place, ridB Term, B Term, A Term, skB Term, skA Term, y Term, X Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (tami_pp Place)
41
41
42
42
43
43
// permission e_Bob_recvMsg
44
44
pred e_Bob_recvMsg(ghost tami_p Place, ghost ridB Term, ghost B Term, ghost A Term, ghost skB Term, ghost skA Term, ghost y Term, ghost X Term, ghost msgOut Term, ghost tami_lp mset[Fact], ghost tami_ap mset[Claim], ghost tami_rp mset[Fact])
45
45
46
46
ghost
47
-
decreases
48
47
requires e_Bob_recvMsg(tami_p, ridB, B, A, skB, skA, y, X, msgOut, tami_lp, tami_ap, tami_rp)
48
+
decreases
49
49
pure func get_e_Bob_recvMsg_placeDst(tami_p Place, ridB Term, B Term, A Term, skB Term, skA Term, y Term, X Term, msgOut Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (placeDst Place)
50
50
51
51
ghost
52
-
decreases
53
52
requires token(tami_p) && e_Bob_recvMsg(tami_p, ridB, B, A, skB, skA, y, X, msgOut, tami_lp, tami_ap, tami_rp)
54
53
ensures token(tami_pp) && tami_pp == old(get_e_Bob_recvMsg_placeDst(tami_p, ridB, B, A, skB, skA, y, X, msgOut, tami_lp, tami_ap, tami_rp))
54
+
decreases
55
55
func internBIO_e_Bob_recvMsg(tami_p Place, ridB Term, B Term, A Term, skB Term, skA Term, y Term, X Term, msgOut Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (tami_pp Place)
56
56
57
57
58
58
// permission e_Bob_sendMsg
59
59
pred e_Bob_sendMsg(ghost tami_p Place, ghost ridB Term, ghost B Term, ghost A Term, ghost skB Term, ghost skA Term, ghost y Term, ghost X Term, ghost msgIn Term, ghost tami_lp mset[Fact], ghost tami_ap mset[Claim], ghost tami_rp mset[Fact])
60
60
61
61
ghost
62
-
decreases
63
62
requires e_Bob_sendMsg(tami_p, ridB, B, A, skB, skA, y, X, msgIn, tami_lp, tami_ap, tami_rp)
63
+
decreases
64
64
pure func get_e_Bob_sendMsg_placeDst(tami_p Place, ridB Term, B Term, A Term, skB Term, skA Term, y Term, X Term, msgIn Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (placeDst Place)
65
65
66
66
ghost
67
-
decreases
68
67
requires token(tami_p) && e_Bob_sendMsg(tami_p, ridB, B, A, skB, skA, y, X, msgIn, tami_lp, tami_ap, tami_rp)
69
68
ensures token(tami_pp) && tami_pp == old(get_e_Bob_sendMsg_placeDst(tami_p, ridB, B, A, skB, skA, y, X, msgIn, tami_lp, tami_ap, tami_rp))
69
+
decreases
70
70
func internBIO_e_Bob_sendMsg(tami_p Place, ridB Term, B Term, A Term, skB Term, skA Term, y Term, X Term, msgIn Term, tami_lp mset[Fact], tami_ap mset[Claim], tami_rp mset[Fact]) (tami_pp Place)
Adapt the absolute paths in `generate-spec.sh` and `generate-spec-config.txt` to point to the files in this repository and the specification generator from the [`viperproject/protocol-verification-refinement` repository](https://github.com/viperproject/protocol-verification-refinement) before running `generate-spec.sh`.
21
+
The resulting files will be stored in the `generated_iospecs` directory.
0 commit comments