-
Notifications
You must be signed in to change notification settings - Fork 151
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
Claim infer cell2 #3812
Claim infer cell2 #3812
Conversation
if the claim doesn't contain fresh vars
I'm not actually sure it's correct to only add the generatedCounter cell if you see a fresh variable. It's possible that the rules that are applied as part of rewriting the claim's lhs might mention the fresh counter. I believe this is why the change was made. I think what you probably want to do instead is only add the cell if the claim already mentions at least one cell. |
The generated JSON is what's needed, but in general functional claims should be translated th esame as functional simplification rules. So a claim like this (which has a function on LHS):
Should be translated the same as a simplification rule like this:
Can we use the same transformation steps for the claim as we do for this rule? |
@ehildenb I've modified ModuleToKore to print the proper sorts in the generated kore format.
This fails with:
I also found this error message saying |
Can you link to the test? Which is it? https://github.com/runtimeverification/k/tree/master/k-distribution/tests/regression-new/issue-2287-simpl-rules-in-kprovex It looks to me like that test ( |
@ehildenb there are a few inconsistencies that got me blocked on this one:
If you want this functionality sooner, I can implement it under an option. Otherwise, we need to clarify the expected kore output to ensure we don't break the tests. |
|
@ehildenb I think these last changes should work for you.
I've added a special option to enable this. This has the potential to break things. What would you like me to test it with? For now, I've only tested the integration tests. |
Tested the EVM semantics with |
haskell-backend/src/main/java/org/kframework/backend/haskell/HaskellRewriter.java
Outdated
Show resolved
Hide resolved
kernel/src/main/java/org/kframework/compile/AddImplicitCounterCell.java
Outdated
Show resolved
Hide resolved
kernel/src/main/java/org/kframework/compile/AddImplicitCounterCell.java
Outdated
Show resolved
Hide resolved
kernel/src/main/java/org/kframework/compile/ConcretizeCells.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM now that my comments have been addressed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks fine.
As of runtimeverification/k#3812 (`v6.1.29`), K does not not do configuration concretization on claims unless it has cells. A test spec is updated accordingly. --------- Co-authored-by: devops <[email protected]> Co-authored-by: Tamás Tóth <[email protected]>
As of #3812 (`v6.1.29`), K does not not do configuration concretization on claims unless it has cells. A test spec is updated accordingly. --------- Co-authored-by: devops <[email protected]> Co-authored-by: Tamás Tóth <[email protected]>
As of #3812 (`v6.1.29`), K does not not do configuration concretization on claims unless it has cells. A test spec is updated accordingly. --------- Co-authored-by: devops <[email protected]> Co-authored-by: Tamás Tóth <[email protected]>
As of #3812 (`v6.1.29`), K does not not do configuration concretization on claims unless it has cells. A test spec is updated accordingly. --------- Co-authored-by: devops <[email protected]> Co-authored-by: Tamás Tóth <[email protected]>
As of #3812 (`v6.1.29`), K does not not do configuration concretization on claims unless it has cells. A test spec is updated accordingly. --------- Co-authored-by: devops <[email protected]> Co-authored-by: Tamás Tóth <[email protected]>
As of #3812 (`v6.1.29`), K does not not do configuration concretization on claims unless it has cells. A test spec is updated accordingly. --------- Co-authored-by: devops <[email protected]> Co-authored-by: Tamás Tóth <[email protected]>
Fixes: #3656
Changes:
<generatedCounter>
cell only when a fresh variable is found or it has cells.--allow-func-claims
. I thought about disabling the check when--dry-run
but I think that would be confusing. This option makes it explicit and obvious.