Comments (4)
I did that? I believe the idea is still to define it only when DT
is present, https://github.com/CVC4/CVC4/blob/fd60da4a22f02f6f5b82cef3585240c1b33595e9/src/theory/logic_info.cpp#L446 . As for every thing in SMTLIB the idea is to know if a solver will be able to support the benchmark or not, so since not every solver support it, it is better to mark the problem that use the feature with DT
. But some benchmark could be wrongly without it, if solver doesn't enforce that. (Do you tried CVC4 with --strict-mode
?)
from dolmen.
Oh, I didn't know about --strict-mode
, I'll try that.
On that note, dolmen now has a --strict=<bool>
option, though the default is true
(i.e. strictly respect the spec), and --strict=false
can be used to have some more lenient typechecking.
from dolmen.
From what I can tell, datatypes is part of the core of the language, see e.g. page 84 of https://smtlib.cs.uiowa.edu/papers/smt-lib-reference-v2.6-r2021-05-12.pdf :
Recall that algebraic datatypes are not defined in theories but directly at the level of the underlying SMT-LIB logic
So dolmen should probably allow datatypes regardless of the theory/logic that is set for a file.
from dolmen.
Ok, so after a few discussions, the current behavior of dolmen, i.e. to only accept datatypes definitions when DT
is present in the logic, seems to be the right one, so let's close this one for now, ^^
from dolmen.
Related Issues (20)
- Wrong check-model
- Bitvectors of size 0 should be forbidden
- Ill-typed statement on Bitvector is accepted by Dolmen HOT 1
- Expose `with_cache`? HOT 1
- Support Alt-Ergo's `cut` and `check` HOT 12
- Add authors files
- Unclear error message during model checking HOT 7
- Spec errors on the difference logic benchmarks of the SMT-LIB HOT 2
- Reject names starting with `@` and `.` outside of models
- Handling of `set-option :global-declarations`
- Handling of named terms HOT 2
- Check sat assuming HOT 2
- DIMACS variables do not appear as decls HOT 1
- Uncaught exception on buggy file
- 4.08 support broken (`List.concat_map`) HOT 10
- Quoted identifiers can be keywords HOT 12
- Warning regarding the `dolmen_type` file HOT 2
- Support non-incremental parsing from stdin HOT 1
- Handling abstract values in `(get-value)` statements HOT 8
- Supporting evaluation for custom functions HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dolmen.