Skip to content

Commit b4b33c8

Browse files
committed
Fix saw-core tuple syntax in heapster-saw examples directory.
1 parent 453cdb0 commit b4b33c8

8 files changed

+64
-64
lines changed

heapster-saw/examples/arrays.sawcore

+11-11
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,34 @@ import Prelude;
88
-- noErrorsContains0H len i v =
99
-- orM (exists x. returnM x) (noErrorsContains0H len (i+1) v)
1010
noErrorsContains0H : (len i:Vec 64 Bool) -> BVVec 64 len (Vec 64 Bool) ->
11-
CompM (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool);
11+
CompM #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool);
1212
noErrorsContains0H len_top i_top v_top =
1313
letRecM
1414
(LRT_Cons
1515
(LRT_Fun (Vec 64 Bool) (\ (len:Vec 64 Bool) ->
1616
LRT_Fun (Vec 64 Bool) (\ (_:Vec 64 Bool) ->
1717
LRT_Fun (BVVec 64 len (Vec 64 Bool)) (\ (_:BVVec 64 len (Vec 64 Bool)) ->
18-
LRT_Ret (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool)))))
18+
LRT_Ret #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool)))))
1919
LRT_Nil)
20-
(BVVec 64 len_top (Vec 64 Bool) * Vec 64 Bool)
20+
#(BVVec 64 len_top (Vec 64 Bool), Vec 64 Bool)
2121
(\ (f : (len i:Vec 64 Bool) -> BVVec 64 len (Vec 64 Bool) ->
22-
CompM (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool)) ->
22+
CompM #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool)) ->
2323
((\ (len:Vec 64 Bool) (i:Vec 64 Bool) (v:BVVec 64 len (Vec 64 Bool)) ->
2424
precondHint
25-
(CompM (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool))
25+
(CompM #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool))
2626
(and (bvsle 64 0x0000000000000000 i)
2727
(bvsle 64 i 0x0fffffffffffffff))
28-
(orM (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool)
29-
(existsM (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool)
30-
(BVVec 64 len (Vec 64 Bool) * Vec 64 Bool)
31-
(returnM (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool)))
28+
(orM #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool)
29+
(existsM #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool)
30+
#(BVVec 64 len (Vec 64 Bool), Vec 64 Bool)
31+
(returnM #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool)))
3232
(f len (bvAdd 64 i 0x0000000000000001) v))), ()))
3333
(\ (f : (len i:Vec 64 Bool) -> BVVec 64 len (Vec 64 Bool) ->
34-
CompM (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool)) ->
34+
CompM #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool)) ->
3535
f len_top i_top v_top);
3636

3737
-- The specification that contains0 has no errors
3838
noErrorsContains0 : (len:Vec 64 Bool) -> BVVec 64 len (Vec 64 Bool) ->
39-
CompM (BVVec 64 len (Vec 64 Bool) * Vec 64 Bool);
39+
CompM #(BVVec 64 len (Vec 64 Bool), Vec 64 Bool);
4040
noErrorsContains0 len v =
4141
noErrorsContains0H len 0x0000000000000000 v;

heapster-saw/examples/clearbufs.sawcore

+11-11
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,28 @@ Mbox_def = Mbox;
2525
(m:Mbox) -> P m;
2626
Mbox__rec P f1 f2 m = Mbox#rec P f1 f2 m; -}
2727

28-
--unfoldMbox : Mbox -> Either #() (Mbox * Vec 64 Bool * BVVec 64 bv64_16 (Vec 64 Bool));
28+
--unfoldMbox : Mbox -> Either #() #(Mbox, Vec 64 Bool, BVVec 64 bv64_16 (Vec 64 Bool));
2929
primitive
30-
unfoldMbox : Mbox -> Either #() (Sigma (V64) (\ (len : V64) -> Mbox * BVVec 64 len (Vec 64 Bool)));
30+
unfoldMbox : Mbox -> Either #() (Sigma (V64) (\ (len : V64) -> #(Mbox, BVVec 64 len (Vec 64 Bool))));
3131

3232
{-unfoldMbox m =
33-
Mbox__rec (\ (_:Mbox) -> Either #() (Mbox * Vec 64 Bool * BVVec 64 bv64_16 (Vec 64 Bool) * #()))
34-
(Left #() (Mbox * Vec 64 Bool * BVVec 64 bv64_16 (Vec 64 Bool) * #()) ())
35-
(\ (m:Mbox) (_:Either #() (Mbox * Vec 64 Bool * BVVec 64 bv64_16 (Vec 64 Bool) * #())) (len:Vec 64 Bool) (d:BVVec 64 bv64_16 (Vec 64 Bool)) ->
36-
Right #() (Mbox * Vec 64 Bool * BVVec 64 bv64_16 (Vec 64 Bool) * #()) (m, len, d, ()))
33+
Mbox__rec (\ (_:Mbox) -> Either #() #(Mbox, Vec 64 Bool, BVVec 64 bv64_16 (Vec 64 Bool), #()))
34+
(Left #() #(Mbox, Vec 64 Bool, BVVec 64 bv64_16 (Vec 64 Bool), #()) ())
35+
(\ (m:Mbox) (_:Either #() #(Mbox, Vec 64 Bool, BVVec 64 bv64_16 (Vec 64 Bool), #())) (len:Vec 64 Bool) (d:BVVec 64 bv64_16 (Vec 64 Bool)) ->
36+
Right #() #(Mbox, Vec 64 Bool, BVVec 64 bv64_16 (Vec 64 Bool), #()) (m, len, d, ()))
3737
m;
3838
-}
3939

4040
primitive
41-
foldMbox : Either #() (Sigma (V64) (\ (len : V64) -> Mbox * BVVec 64 len (Vec 64 Bool))) -> Mbox;
41+
foldMbox : Either #() (Sigma (V64) (\ (len : V64) -> #(Mbox, BVVec 64 len (Vec 64 Bool)))) -> Mbox;
4242

43-
--(Mbox * Vec 64 Bool * (BVVec 64 bv64_16 (Vec 64 Bool)) * #()) -> Mbox;
43+
--#(Mbox, Vec 64 Bool, (BVVec 64 bv64_16 (Vec 64 Bool)), #()) -> Mbox;
4444
{-
4545
foldMbox =
46-
either #() (Mbox * Vec 64 Bool * (BVVec 64 bv64_16 (Vec 64 Bool)) * #()) Mbox
46+
either #() #(Mbox, Vec 64 Bool, (BVVec 64 bv64_16 (Vec 64 Bool)), #()) Mbox
4747
(\ (_:#()) -> Mbox_nil)
48-
(\ (tup : (Mbox * Vec 64 Bool * (BVVec 64 bv64_16 (Vec 64 Bool)) * #())) ->
49-
Mbox_cons tup.1 tup.2 tup.3);
48+
(\ (tup : #(Mbox, Vec 64 Bool, (BVVec 64 bv64_16 (Vec 64 Bool)), #())) ->
49+
Mbox_cons tup.0 tup.1 tup.2);
5050
-}
5151

5252
primitive

heapster-saw/examples/global_var.sawcore

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ module GlobalVar where
22

33
import Prelude;
44

5-
acquireLockM : Vec 64 Bool -> CompM (Vec 64 Bool * Vec 64 Bool);
6-
acquireLockM u = returnM (Vec 64 Bool * Vec 64 Bool)
5+
acquireLockM : Vec 64 Bool -> CompM #(Vec 64 Bool, Vec 64 Bool);
6+
acquireLockM u = returnM #(Vec 64 Bool, Vec 64 Bool)
77
(u,u);
88

99
releaseLockM : Vec 64 Bool -> Vec 64 Bool -> CompM (Vec 64 Bool);

heapster-saw/examples/iter_linked_list.sawcore

+9-9
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,20 @@ ListF__rec : (a b:sort 0) -> (P : ListF a b -> sort 0) ->
2727
(l:ListF a b) -> P l;
2828
ListF__rec a b P f1 f2 l = ListF#rec a b P f1 f2 l;
2929

30-
unfoldListF : (a b:sort 0) -> ListF a b -> Either b (a * ListF a b);
30+
unfoldListF : (a b:sort 0) -> ListF a b -> Either b #(a, ListF a b);
3131
unfoldListF a b l =
32-
ListF__rec a b (\ (_:ListF a b) -> Either b (a * ListF a b))
33-
(\ (x:b) -> Left b (a * ListF a b) x)
34-
(\ (x:a) (l:ListF a b) (_:Either b (a * ListF a b)) ->
35-
Right b (a * ListF a b) (x, l))
32+
ListF__rec a b (\ (_:ListF a b) -> Either b #(a, ListF a b))
33+
(\ (x:b) -> Left b #(a, ListF a b) x)
34+
(\ (x:a) (l:ListF a b) (_:Either b #(a, ListF a b)) ->
35+
Right b #(a, ListF a b) (x, l))
3636
l;
3737

38-
foldListF : (a b:sort 0) -> Either b (a * ListF a b) -> ListF a b;
38+
foldListF : (a b:sort 0) -> Either b #(a, ListF a b) -> ListF a b;
3939
foldListF a b =
40-
either b (a * ListF a b) (ListF a b)
40+
either b #(a, ListF a b) (ListF a b)
4141
(\ (x : b) -> NilF a b x)
42-
(\ (tup : (a * ListF a b)) ->
43-
ConsF a b tup.(1) tup.(2));
42+
(\ (tup : #(a, ListF a b)) ->
43+
ConsF a b tup.0 tup.1);
4444

4545
getListF : (a b:sort 0) -> ListF a b -> b;
4646
getListF a b =

heapster-saw/examples/mbox.sawcore

+9-9
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,20 @@ Mbox__rec : (P : Mbox -> sort 0) ->
3131
(m:Mbox) -> P m;
3232
Mbox__rec P f1 f2 m = Mbox#rec P f1 f2 m;
3333

34-
unfoldMbox : Mbox -> Either #() (Vec 64 Bool * Vec 64 Bool * Mbox * BVVec 64 bv64_128 (Vec 8 Bool));
34+
unfoldMbox : Mbox -> Either #() #(Vec 64 Bool, Vec 64 Bool, Mbox, BVVec 64 bv64_128 (Vec 8 Bool));
3535
unfoldMbox m =
36-
Mbox__rec (\ (_:Mbox) -> Either #() (Vec 64 Bool * Vec 64 Bool * Mbox * BVVec 64 bv64_128 (Vec 8 Bool)))
37-
(Left #() (Vec 64 Bool * Vec 64 Bool * Mbox * BVVec 64 bv64_128 (Vec 8 Bool)) ())
38-
(\ (strt:Vec 64 Bool) (len:Vec 64 Bool) (m:Mbox) (_:Either #() (Vec 64 Bool * Vec 64 Bool * Mbox * BVVec 64 bv64_128 (Vec 8 Bool))) (d:BVVec 64 bv64_128 (Vec 8 Bool)) ->
39-
Right #() (Vec 64 Bool * Vec 64 Bool * Mbox * BVVec 64 bv64_128 (Vec 8 Bool)) (strt, len, m, d))
36+
Mbox__rec (\ (_:Mbox) -> Either #() #(Vec 64 Bool, Vec 64 Bool, Mbox, BVVec 64 bv64_128 (Vec 8 Bool)))
37+
(Left #() #(Vec 64 Bool, Vec 64 Bool, Mbox, BVVec 64 bv64_128 (Vec 8 Bool)) ())
38+
(\ (strt:Vec 64 Bool) (len:Vec 64 Bool) (m:Mbox) (_:Either #() #(Vec 64 Bool, Vec 64 Bool, Mbox, BVVec 64 bv64_128 (Vec 8 Bool))) (d:BVVec 64 bv64_128 (Vec 8 Bool)) ->
39+
Right #() #(Vec 64 Bool, Vec 64 Bool, Mbox, BVVec 64 bv64_128 (Vec 8 Bool)) (strt, len, m, d))
4040
m;
4141

42-
foldMbox : Either #() (Vec 64 Bool * Vec 64 Bool * Mbox * BVVec 64 bv64_128 (Vec 8 Bool)) -> Mbox;
42+
foldMbox : Either #() #(Vec 64 Bool, Vec 64 Bool, Mbox, BVVec 64 bv64_128 (Vec 8 Bool)) -> Mbox;
4343
foldMbox =
44-
either #() (Vec 64 Bool * Vec 64 Bool * Mbox * BVVec 64 bv64_128 (Vec 8 Bool)) Mbox
44+
either #() #(Vec 64 Bool, Vec 64 Bool, Mbox, BVVec 64 bv64_128 (Vec 8 Bool)) Mbox
4545
(\ (_:#()) -> Mbox_nil)
46-
(\ (tup : (Vec 64 Bool * Vec 64 Bool * Mbox * BVVec 64 bv64_128 (Vec 8 Bool))) ->
47-
Mbox_cons tup.1 tup.2 tup.3 tup.(2).(2).(2));
46+
(\ (tup : #(Vec 64 Bool, Vec 64 Bool, Mbox, BVVec 64 bv64_128 (Vec 8 Bool))) ->
47+
Mbox_cons tup.0 tup.1 tup.2 tup.3);
4848

4949
{-
5050
getMbox : (a : sort 0) -> Mbox a -> a;

heapster-saw/examples/rust_data.sawcore

+9-9
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ module rust_data where
33

44
import Prelude;
55

6-
unfoldListPermH : (a:sort 0) -> List a -> Either #() (#() * a * List a);
6+
unfoldListPermH : (a:sort 0) -> List a -> Either #() #(#(), a, List a);
77
unfoldListPermH a l =
8-
List__rec a (\ (_:List a) -> Either #() (#() * a * List a))
9-
(Left #() (#() * a * List a) ())
10-
(\ (x:a) (l:List a) (_:Either #() (#() * a * List a)) ->
11-
Right #() (#() * a * List a) ((), x, l))
8+
List__rec a (\ (_:List a) -> Either #() #(#(), a, List a))
9+
(Left #() #(#(), a, List a) ())
10+
(\ (x:a) (l:List a) (_:Either #() #(#(), a, List a)) ->
11+
Right #() #(#(), a, List a) ((), x, l))
1212
l;
1313

14-
foldListPermH : (a:sort 0) -> Either #() (#() * a * List a) -> List a;
14+
foldListPermH : (a:sort 0) -> Either #() #(#(), a, List a) -> List a;
1515
foldListPermH a =
16-
either #() (#() * a * List a) (List a)
16+
either #() #(#(), a, List a) (List a)
1717
(\ (_ : #()) -> Nil a)
18-
(\ (tup : (#() * a * List a)) ->
19-
Cons a tup.(2).(1) tup.(2).(2));
18+
(\ (tup : #(#(), a, List a)) ->
19+
Cons a tup.(1) tup.(2));

heapster-saw/examples/rust_lifetimes.sawcore

+9-9
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ module rust_lifetimes where
33

44
import Prelude;
55

6-
unfoldListPermH : (a:sort 0) -> List a -> Either #() (#() * a * List a);
6+
unfoldListPermH : (a:sort 0) -> List a -> Either #() #(#(), a, List a);
77
unfoldListPermH a l =
8-
List__rec a (\ (_:List a) -> Either #() (#() * a * List a))
9-
(Left #() (#() * a * List a) ())
10-
(\ (x:a) (l:List a) (_:Either #() (#() * a * List a)) ->
11-
Right #() (#() * a * List a) ((), x, l))
8+
List__rec a (\ (_:List a) -> Either #() #(#(), a, List a))
9+
(Left #() #(#(), a, List a) ())
10+
(\ (x:a) (l:List a) (_:Either #() #(#(), a, List a)) ->
11+
Right #() #(#(), a, List a) ((), x, l))
1212
l;
1313

14-
foldListPermH : (a:sort 0) -> Either #() (#() * a * List a) -> List a;
14+
foldListPermH : (a:sort 0) -> Either #() #(#(), a, List a) -> List a;
1515
foldListPermH a =
16-
either #() (#() * a * List a) (List a)
16+
either #() #(#(), a, List a) (List a)
1717
(\ (_ : #()) -> Nil a)
18-
(\ (tup : (#() * a * List a)) ->
19-
Cons a tup.(2).(1) tup.(2).(2));
18+
(\ (tup : #(#(), a, List a)) ->
19+
Cons a tup.(1) tup.(2));

heapster-saw/examples/string_set.sawcore

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ listInsertM a l s =
88
returnM (List a) (Cons a s l);
99

1010
listRemoveM : (a : sort 0) -> (a -> a -> Bool) -> List a -> a ->
11-
CompM (List a * a);
11+
CompM #(List a, a);
1212
listRemoveM a test_eq l s =
1313
returnM
14-
(List a * a)
14+
#(List a, a)
1515
(List__rec
1616
a (\ (_:List a) -> List a)
1717
(Nil a)
@@ -30,10 +30,10 @@ stringListInsertM : List String -> String -> CompM (List String);
3030
stringListInsertM l s =
3131
returnM (List String) (Cons String s l);
3232

33-
stringListRemoveM : List String -> String -> CompM (stringList * String);
33+
stringListRemoveM : List String -> String -> CompM #(stringList, String);
3434
stringListRemoveM l s =
3535
returnM
36-
(stringList * String)
36+
#(stringList, String)
3737
(List__rec
3838
String (\ (_:List String) -> List String)
3939
(Nil String)

0 commit comments

Comments
 (0)