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

Update z3 #100

Merged
merged 609 commits into from
Sep 27, 2023
Merged

Update z3 #100

merged 609 commits into from
Sep 27, 2023

Conversation

jurajsic
Copy link
Member

Uptade base z3 to v4.12.2

NikolajBjorner and others added 30 commits January 31, 2023 12:32
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
…sequences

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
NikolajBjorner and others added 21 commits April 26, 2023 10:04
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
- insert also macro definitions into models
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* implement  Optimize class for the high level Typescript API

* javascript and wasm: add _malloc to exported functions

fix the bug Z3Prover#6709

* javascript: add tests for the Optimize class

* javascript: no reason that minimize and optimize must be constants
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Logical names for function declarations in c++

Currently, for example, the function declaration symbol member for
checking whether multiplication *does not* overflow is called
`m_bv_smul_ovfl`.  Since we are introducing the upcoming smtlib2 symbols
that check that multpliciation *does* overflow, the not overflow check
symbols are renamed to `m_bv_smul_no_ovfl` etc.

* Implement smtlib overflow preds for multiplication

Smtlib2 is being extended to include overflow predicates for bit
vectors (see https://groups.google.com/u/1/g/smt-lib/c/J4D99wT0aKI).
This commit introduces the predicates `bvumulo` and `bvsmulo` that
return `true` if the unsigned multiplication overflows or the signed
multiplication underflows or overflows, respectively.

* Move mul overflow predicates to BV logic

* Add a todo on illogical argument order

* Implement mk_unary_pred for bv

* Implement bvnego

* Implement bvuaddo

* Implement bvsaddo

* Implement bvusubo

* Implement bvssubo

* Implement bvsdivo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
@jurajsic
Copy link
Member Author

Results:

# of formulae: 100031
###################################################################################
####                                   Table 1                                 ####
###################################################################################
| method                     |   max |    mean |   median |   std. dev |   TO+MO+ERR |   unknowns |
|----------------------------|-------|---------|----------|------------|-------------|------------|
| z3-noodler-1ba1904-40ca1cd |   132 | 7.04448 |     0.03 |    28.477  |        4307 |       8287 |
| cvc5-1.0.8                 |   132 | 2.81598 |     0.02 |    17.993  |        1772 |          2 |
| z3-4.12.2                  |   132 | 5.2186  |     0.04 |    23.1857 |        2857 |        213 |
| z3str4                     |   132 | 2.3607  |     0.02 |    15.8903 |        1380 |       1385 |
| z3-noodler-0ae38ae-40ca1cd |   132 | 7.04192 |     0.03 |    28.5098 |        4317 |       8291 |

image
image
image

@vhavlena
Copy link
Collaborator

Great! Is it with the newest mata?

@jurajsic
Copy link
Member Author

Not yet, I want to run it after merging this.

@jurajsic
Copy link
Member Author

The table is wrong, the times are broken, this is the correct version:

# of formulae: 100031
###################################################################################
####                                   Table 1                                 ####
###################################################################################
| method                     |    max |     mean |   median |   std. dev |   TO+MO+ERR |   unknowns |
|----------------------------|--------|----------|----------|------------|-------------|------------|
| z3-noodler-1ba1904-40ca1cd | 119.58 | 0.889365 |     0.03 |    6.62393 |        4307 |       8287 |
| cvc5-1.0.8                 | 119.36 | 0.485156 |     0.02 |    4.81569 |        1772 |          2 |
| z3-4.12.2                  | 119.29 | 1.48289  |     0.04 |    8.11434 |        2857 |        213 |
| z3str4                     | 118.44 | 0.519939 |     0.02 |    3.77544 |        1380 |       1385 |
| z3-noodler-0ae38ae-40ca1cd | 119.83 | 0.871344 |     0.03 |    6.61873 |        4317 |       8291 |

@jurajsic jurajsic merged commit f211b89 into devel Sep 27, 2023
0 of 9 checks passed
@jurajsic jurajsic deleted the update_z3 branch September 27, 2023 19:27
Copy link
Collaborator

@Adda0 Adda0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

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

Successfully merging this pull request may close these issues.