Open konnov opened 1 month ago
I just hit an instance of this myself and it is annoying.
Working on it!
@Amyr14 the equivalent of the behavior from TLC:
$ java -cp tla2tools.jar tlc2.REPL
(tla+) [{} -> {3, 5}]
{<<>>}
(tla+) [{1, 2} -> {}]
{}
(tla+) [{} -> {}]
{<<>>}
in Quint would be:
$ quint
>>> Set().setOfMaps(Set(3,5))
Set(Map())
>>> Set(1,2).setOfMaps(Set())
Set()
>>> Set().setOfMaps(Set())
Set(Map())
This may seem a bit exotic, but it actually happens in practical specs. Consider the following MWE:
Run all combinations with the simulator v0.22.1:
Now, compare it with the TLC REPL:
Notice that in the cases (1) and (3), TLC does not produce an empty set, but it produces a singleton set that contains a function of the empty domain, which correspond to
Map()
in Quint.The behavior of the Quint simulator is stricter than that of TLC. It would be great to have the cases (1) and (3) fixed.