Closed vhavlena closed 2 months ago
The results before the last rebase were fine. I am running the experiments after rebase now.
The results
# of formulae: 103405
--------------------------------------------------
tool ✅ ❌ time avg med std sat unsat unknown TO MO+ERR other
-------------------------- ------ ---- --------- ----- ----- ----- ----- ------- --------- ---- -------- -------
z3-noodler-146dbc0-d95fe13 102391 1014 11437.14 0.11 0.02 1.50 62907 39484 537 409 68 0
z3-noodler-a8ca33a-d95fe13 102338 1067 12090.90 0.12 0.02 1.67 62907 39431 625 389 53 0
cvc5-1.1.2 99774 3631 76479.19 0.77 0.00 6.77 60870 38904 2 3620 9 0
z3-4.13.0 97694 5711 132044.66 1.35 0.01 8.11 58876 38818 210 4968 463 70
--------------------------------------------------
Main difference to the devel:
Benchmark str_small_rw
# of formulae: 1880
--------------------------------------------------
tool ✅ ❌ time avg med std sat unsat unknown TO MO+ERR other
-------------------------- ---- ---- ------ ----- ----- ----- ----- ------- --------- ---- -------- -------
z3-noodler-146dbc0-d95fe13 1816 64 343.62 0.19 0.01 2.86 4 1812 4 37 23 0
z3-noodler-a8ca33a-d95fe13 1762 118 365.65 0.21 0.01 2.74 4 1758 92 17 9 0
cvc5-1.1.2 1861 19 31.09 0.02 0.00 0.56 20 1841 2 17 0 0
z3-4.13.0 1821 59 214.88 0.12 0.01 2.86 25 1796 0 59 0 0
--------------------------------------------------
I have checked the notcontains bug and it is indeed solved by handling notcontains inside the preprocessor (there is a rule requiring that a variable has no other occurrences and it did not take into account variables in notcontains).
I have checked the notcontains bug and it is indeed solved by handling notcontains inside the preprocessor (there is a rule requiring that a variable has no other occurrences and it did not take into account variables in notcontains).
Should that rule be fixed then? It should check for the variables in not contains. Or at least add a note that it does not check not contains.
I have checked the notcontains bug and it is indeed solved by handling notcontains inside the preprocessor (there is a rule requiring that a variable has no other occurrences and it did not take into account variables in notcontains).
Should that rule be fixed then? It should check for the variables in not contains. Or at least add a note that it does not check not contains.
It's ok. The Preprocessor now takes into account all variables in the system including those in notcontains.
I have checked the notcontains bug and it is indeed solved by handling notcontains inside the preprocessor (there is a rule requiring that a variable has no other occurrences and it did not take into account variables in notcontains).
Should that rule be fixed then? It should check for the variables in not contains. Or at least add a note that it does not check not contains.
It's ok. The Preprocessor now takes into account all variables in the system including those in notcontains.
Ah ok, I get it now, this PR fixed it.
This PR introduces kind a lot of new stuff
DecisionProcedure
to handle disequations and not(contains) after a stable solution is foundsmt.str.ca_constr=true
(by default it is off)FormulaPreprocessor
to handle not(contains) predicates as well