Fix Context::forall
and Context::exists
quantifiers
#27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
Context::forall
andContext::exists
functions were not structuring the S-expressions for variables correctly. This PR fixes that, and adds an example that uses quantifiers as a means of testing.To demonstrate the problem, run the new example without the changes to
src/context.rs
. The example uses the followingforall
quantifier:which produces the following trace:
The problem is that the variable declarations
(s1 MySet)
and(s2 MySet)
are not grouped together as a sub-list. The forall expression is supposed to have the shape:The same problem occurs for the
exists
function: the variable declaration(x MyElement)
in the above trace should be a singleton list((x MyElement))
.With the changes to
src/context.rs
, the example is fixed:Thanks for writing this library! Aside from this bug, I've found it easy to get up and running with it.