4txj7f / cvc5 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from cvc5/cvc5
CVC4 is an efficient open-source automatic theorem prover for satisfiability modulo theories (SMT) problems.
License: Other
This project forked from cvc5/cvc5
CVC4 is an efficient open-source automatic theorem prover for satisfiability modulo theories (SMT) problems.
License: Other
Check why the portfolio build has issues. This might not be worth fixing right now if it is due to multiple copies of the SMTEngine coexisting.
It seems like initInternal is not really useful anymore (at least not for the pull request). Remove initInternal and the private variables from the preprocessing passes. Instead get the necessary variables at the beginning of applyInternal from the API.
We could make a distinction between plug-ins that only need limited access and can be easily implemented by users and having special plug-ins with additional capabilities.
Each instance of an SMTEngine should get its own copy of the PreprocessingPassRegistry.
For each variable in init, we need to decide about one of the following things:
Random comments on the poster (will add more to the issue as time goes by):
Currently the PassResult is a struct
but we should use an enum with CONFLICT
and NO_CONFLICT
.
Each preprocessing pass should get its own .h
and .cpp
file in the src/preproc directory.
For all PreprocessingPasses, make sure that accesses to the NodeManager happen through the thread_local variable, i.e. NodeManager::currentNM()
and not through the SMT engine.
There should be an API class that all PreprocessingPasses have access to. Probably the easiest thing to do the following:
[ ] Create a PreprocessingPassAPI
class that takes all variables that are currently passed into init
[ ] Create an instance of such a class at the beginning of ProcessAssertions
[ ] Remove all arguments from init() and instead have a single argument that is a pointer to the API
[ ] Change accesses to API variables to go through the API
[ ] Add methods to the API to avoid accesses to the variables in the API
We will have to move some variables out of the API but it seems like the easiest would be to get something working first.
Benchmarks:
https://clc-gitlab.cs.uiowa.edu:2443/SMT-LIB-benchmarks/QF_BV/tree/master/dwp_formulas
Likely to help: Different number of repeatSimp().
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.