-
Notifications
You must be signed in to change notification settings - Fork 30
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
Error in KB:-assert_deny:-rel_coulditbe #103
Comments
This fix is based entirely on replicating the behaviour in the test suite (which calls `value@eval` on the expression, which is too strong in general) and not on understanding the underlying cause of the problem in rel_coulditbe.
The only difference between the test suite call is the call to
For the time being, I've put in a quick fix, but I don't consider this closed (this is basically the same issue as #88 - the exact details of that one are also unclear). |
I understand the "quick fix" to be relaxing the condition under which the Maple simplifier allows the inert |
Yes
That is one drawback; another is that Sometimes we need the inert version to avoid a crash, and sometimes we need a non-inert version. Things are further complicated by the fact that these issues only occur with very large programs (there is no minimal example triggering the issue); by the fact that, in those programs, the code paths begin to diverge very deep down in the simplification; and for this case, simplification (i.e. |
One possibility comes to mind: instead of This is somewhat orthogonal to |
Those are indeed the type generated by the array types. But the correct assumption is present -
There seem to be Maple functions which do that - |
The reason to use What is needed is one method to deal with things like |
That makes sense.
A potential solution is to override Actually verifying that a particular Maple function doesn't somehow use |
Right - most of the time, we have to assume that the dependency structure matters. Only in purely algebraic contexts (like SemiAlgebraic) is it clear that this doesn't matter. There is another heuristic we can use: the only time dependency really matters is when we have binding-like things (sum, int, product, diff and their inert versions) around. |
This error is found by
hk-maple examples/gmm_gibbs.hk
. Strangely, the follow call from the Maple test suite doesn't cause it:The bottom of the stack causing the error is
The callstack is
fromLO:59 -> unproducts:146 -> unproduct:204 -> assert_deny:563 -> rel_coulditbe
.The text was updated successfully, but these errors were encountered: