Reputation: 1232
The following Alloy model:
sig A {}
run {all a : A | some r : A->A | a.r = a} for 3
run {some a : A | all r : A->A | a.r = a} for 3
fails for both Alloy and Alloy*. If I run both commands using ordinary Alloy (specifically, using the latest build from http://alloy.mit.edu/alloy/download.html, version 4.2_2015-02-22, build date 2015-02-22 18:21 EST), then the first command works fine but the second fails to skolemize:
However, if I run both commands using Alloy* (specifically, using hola-0.2.jar from http://alloy.mit.edu/alloy/hola/), then the first command fails to skolemize and the second command works fine:
Perhaps there is some sort of bug here? I thought such problems were supposed not to happen in Alloy*; indeed, the Alloy* paper states that it "allows higher-order quantifiers to appear anywhere".
Upvotes: 1
Views: 198