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

Towards a complete SMT solver #12

Open
3 of 10 tasks
Robbepop opened this issue May 11, 2018 · 0 comments
Open
3 of 10 tasks

Towards a complete SMT solver #12

Robbepop opened this issue May 11, 2018 · 0 comments
Labels
A-stevia Any stevia related task that is too general to be further specialized.

Comments

@Robbepop
Copy link
Owner

Robbepop commented May 11, 2018

For stevia to be a more or less complete SMT solver the following high-level modules will need to be implemented in one form or another:

With AIG optimizations:

  • SMT -> AIG: Bit Blaster: Transform a given AST expression tree into a pure boolean formula. The resulting boolean formula should be cheaply convertible to an AIG representation.
  • AIG Driver: Drives processing AIG input.
  • AIG -> CNF: Tseytin Transformation -> Transforms AIG represented data to CNF format.

Additional optimizations:

  • Abstraction Refinement: Heuristics and driver for the array-abstraction-refinement. Maybe this could also handle the newly developed copy-abstraction-refinement.
  • Linear Bitvector Solver: Optimizer and solver for some specialized bitvector terms. Also involves writing of some word-level transformations to preprocess AST data into normalized form.
@Robbepop Robbepop added the A-stevia Any stevia related task that is too general to be further specialized. label Mar 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-stevia Any stevia related task that is too general to be further specialized.
Projects
None yet
Development

No branches or pull requests

1 participant