-
Notifications
You must be signed in to change notification settings - Fork 26
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
CorresProof theory file fails for a swapping function (master branch) #377
Comments
Actually, the put lemmas also fails with the following simplest example:
I believe the problem is that the putboxed tactic doesn't work when two essentially identical cogent types are compiled to different (although isomorphic) C types. |
I think the problem happens whenever two cogent types having the same representation are compiled to different C types. The problem is in the relation between C heaps With dargent, the issue is currently even more visible because the representation does not mention the layout, so the issue would occur if the same type is used with different layouts. Possible fixes that I can think of (by decreasing order of preference / increasing amount of work):
|
This branch seems to solve this issue: https://github.com/amblafont/cogent/tree/heapabsptrsigma |
In this branch above, the type relation is no longer necessary. |
Representations of types should be in one-to-one correspondance with C types for the put lemmas to be right. Thus they should contain the field names for records.
Representations of types should be in one-to-one correspondance with C types for the put lemmas to be right. Thus they should contain the field names for records.
Representations of types should be in one-to-one correspondance with C types for the put lemmas to be right. Thus they should contain the field names for records.
The last lines of CorresSetup shows that some take/put lemmas fail to be proven by the automatic tactics.
The text was updated successfully, but these errors were encountered: