Project

General

Profile

types
MyInt = int [0..42];
SmallInt = int [0..3];
MyTuple = (MyInt, SmallInt);
Sum = autocons system
|[
var
my_list : list [4] of SmallInt = [5,5,5,5]
methods
add(a: MyInt, b: SmallInt) : MyInt =
requires true :
result := a + b
end
end ;
sum(Xs : list [4] of SmallInt) : MyInt =
requires true :
result := add :: (0) :>: (Xs)
end
end
actions
obs Sum(a: MyInt) =
requires a = sum(my_list) :
skip
end
do
var A : MyInt : Sum(A)
od
]|
system
Sum

(8-8/9)