The Coq translator incorrectly translates globals that are not applied #1748
Labels
subsystem: saw-core-coq
Issues related to converting saw-core to Gallina for use with the Coq/Rocq theorem prover
The Coq translator currently does not add module names when it translates globals not in the module where they were defined if they are not applied to arguments.
For example, consider the following SAW core definition in a module other than the prelude:
This is translated to Coq as follows:
The call to
sym
in the above causes an error, because it is actually supposed to refer toSAWCorePrelude.sym
. If instead we translate the following definition:then we get the correct result:
The difficulty is likely because of the different code paths in
Verifier.SAW.Translation.Coq.Term
for translatingConstant
s andExtCns
s than for translating applications whose function component is a global.The text was updated successfully, but these errors were encountered: