Alloy Community

User login

Logic

 
Posted on: Fri, 06/26/2009 - 08:14
Joined: 2009-04-10
Points: 23
User is offline
Logic
Hi,

Suppose pred1 look for a sequence to satisfy constraint C1:

pred1 [seq of Object] {C1}

Alloy translates C1 to CNF, searches for the sequence
and gives a result as no instance found.
Good, because it is expected.

Now, consider pred2 that extends pred1 as follows:

pred2 [seq of Object] {C1 && C2}

Alloy then translates C1 && C2 to CNF. Since C2 is complicated somehow the CNF translation takes extremely long to allow the search to happen to finally say no instance found.

Is it possible my imagination? Do you see my point?

Thanks in advance.
 
Posted on: Fri, 06/26/2009 - 08:28    #1
Joined: 2008-05-15
Points: 334
User is offline
Complicated formula can take much longer time to translate and/or solve.

Alloy Analyzer doesn't cache any analysis
between commands (that wouldn't be honest),
so it does not know that C1 alone is
unsatisfiable, so it has to translate
and explore both C1 and C2.

Syndicate content  

The development of this site is supported by the National Science Foundation under Computing Research Infrastructure Grant No. 0707612.

Theme originally designed by Chris Herberte