Comments (7)
Right, I'll improve the syntax error message for that case (probably after the holidays though).
The reason for using a boolean instead of a flag is that it's easier if/when the default ever changes. That being said, I'm planning to make it so that you do not need to explicitly set the option when providing a file using the -r
option, so that should help.
from dolmen.
I also found a wrong message from the type checker with this input file:
(set-logic ALL)
(declare-const x Int)
(declare-const y Bool)
(declare-fun f (Int Int) Int)
(assert (= (f x y) 0))
(check-sat)
Dolmenls outputs:
dolmenls: The term: `y` has type `Prop` but was expected to be of type `int`
But we expect Bool
instead of Prop
and Int
instead of int
.
PS: I didn't open a new issue for such a tiny problem but I can do so if you want.
from dolmen.
Ah, that's an unfortunate problem of the current code, which uses the same type for Bool
and Prop
, which is correct, but lead to currently poor/confusing error messages. Ideally the solution will be to print these in the input language once we have the printers (which I should really try and get done at one point).
from dolmen.
Is there a reason for refusing to check models with an unknown
status? My understanding of the SMT-LIB specification is that the solver should move to sat
mode after replying unknown
, and respond to get-model
and co. The model is not required to be valid by the spec, but it is still interesting to be able to check if it is valid or not.
from dolmen.
No real reason, I just didn't really think about that situation.
In such a case though, what would be the expected output of dolmen
when asked to verify an model that is incorrect ?
from dolmen.
Maybe display warnings rather than errors for failed assertions?
from dolmen.
That would work. I'll probably implement that soon.
from dolmen.
Related Issues (20)
- 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
- Question regarding BV logic in SMT files HOT 14
- Support `bv2nat` as a "relaxed mode" HOT 2
- Attributes in nested quantifiers HOT 2
- RDL check is a bit too lenient HOT 1
- Can we get a formal 1.0 release please HOT 4
- Confusing error message with pattern matching on polymorphic type in ae's native language
- Support for `get-assignment` HOT 2
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.