Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Runtime differences between equivalent constraints #91

Open
ju-klein opened this issue Jan 22, 2024 · 2 comments
Open

[BUG] Runtime differences between equivalent constraints #91

ju-klein opened this issue Jan 22, 2024 · 2 comments

Comments

@ju-klein
Copy link

ju-klein commented Jan 22, 2024

Describe the bug:
The solver can solve not (a or b) within five minutes.
The solver cannot solve not a and not b within five minutes. I have not tested if it terminates.

To reproduce:
Create a constraint

exists a:
exists b:
((not inside(a, b)) and (not inside(b,a))) 

does not terminate at all or takes long.

Use the equivalence

exists <something> a in <somewhere>:
exists <something> b in <somewhere>:
(not (inside(a,b) or inside(b,a)))

and it terminates rather quickly.

Expected behavior:
Not sure if this is intended behavior, but I would think that both versions should take the same time.

System/Installation Specs:

  • ISLa Version: ISLa-solver 1.14.1
  • Python Version: 3.12
  • OS: Linux 6.7.0-arch3-1 #1 SMP PREEMPT_DYNAMIC Sat, 13 Jan 2024 14:37:14 +0000 x86_64 GNU/Linux
@rindPHI
Copy link
Owner

rindPHI commented Jan 22, 2024

Thanks for the report.

Could you please provide a small but complete example, including a grammar and parseable ISLa constraints with concrete nonterminal symbols? This will help me tremendously in addressing the issue.

@ju-klein
Copy link
Author

Probably, but I have to wait until next Monday. This is from an exercise that is due on Sunday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants