You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have two ways to represent a defined constant in a saw-core Term: First there is GlobalDef, which refers to a definition in a saw-core module; occurrences are created with scGlobalDef or scGlobalApply. Second there is Constant, which is defined dynamically with scConstant.
As it turns out, the uninterpreted function feature of saw-script proof tactics only works with Constant terms, and not GlobalDef ones. So, for example, while it is possible to treat the cryptol pmod and pmult operators as uninterpreted (as they are defined in the Cryptol prelude and translated with scConstant) we can't make >>> uninterpreted (because it's a Cryptol primitive that is translated with scGlobalDef).
We should make all of this more consistent. We could make the saw-core simulator backend handle GlobalDef the same way as Constant. Or else we could just unify GlobalDef and Constant, because we don't really need both.
The text was updated successfully, but these errors were encountered:
We have two ways to represent a defined constant in a saw-core
Term
: First there isGlobalDef
, which refers to a definition in a saw-core module; occurrences are created withscGlobalDef
orscGlobalApply
. Second there isConstant
, which is defined dynamically withscConstant
.As it turns out, the uninterpreted function feature of saw-script proof tactics only works with
Constant
terms, and notGlobalDef
ones. So, for example, while it is possible to treat the cryptolpmod
andpmult
operators as uninterpreted (as they are defined in the Cryptol prelude and translated withscConstant
) we can't make>>>
uninterpreted (because it's a Cryptol primitive that is translated withscGlobalDef
).We should make all of this more consistent. We could make the saw-core simulator backend handle
GlobalDef
the same way asConstant
. Or else we could just unifyGlobalDef
andConstant
, because we don't really need both.The text was updated successfully, but these errors were encountered: