[SAL] A question when using SAL
Ashish Tiwari
tiwari at csl.sri.com
Sat Jun 17 16:51:55 PDT 2006
The type "INTEGER" is not bounded; it has infinitely
many elements.
You will have to replace it by a finite subrange type
(e.g. [0..100]) for sal-smc to work on this example.
Hope this helps,
-Ashish
On Sat, 17 Jun 2006, harry huang wrote:
> Hi,
>
> I have a question when using SAL.
>
> I want to express a process doing in below after try to verify that
> eventually that i == 100
> ===
> int i;
> for (i = 1; i<100; i++);
> ===
>
> So , I made a SAL program in below
>
> ====
> simple1: CONTEXT =
> BEGIN
>
> process: MODULE =
> BEGIN
> OUTPUT i: INTEGER
> INITIALIZATION
> i = 1
> TRANSITION
> [
> increment:
> i<100 --> i' = i+1;
> ]
> END;
>
> th1: THEOREM process |- F(i=100);
> END
> =====
>
> But when I used the command "sal-smc simple1 th1", it gave me the error
> "
> Error: [Context: simple1, line(6), column(16)]: Finite type representation
> cannot be generated, type is not finite.
> Reason: [Context: prelude, line(189), column(20)]: Type is not a bounded
> subtype of integer, or it was not possible to determine the bound.
>
> "
>
> Can someone give me some hints ? Thanks.
>
> Harry
>
>
More information about the SAL
mailing list