Skip to content
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

Retain backward compatibility for destructors #509

Open
rkunnema opened this issue Nov 23, 2022 · 1 comment
Open

Retain backward compatibility for destructors #509

rkunnema opened this issue Nov 23, 2022 · 1 comment
Assignees
Labels
export Issues with export modules

Comments

@rkunnema
Copy link
Member

#461 turned some function symbols into destructors (see
https://github.com/tamarin-prover/tamarin-prover/blob/develop/lib/term/src/Term/Builtin/Signature.hs#L20). This changes the interpretation of existing theories, so it seems better to retain backward compatability and:

  • [ ] rename modified builtins to NAME-destructor
  • [ ] explain new built ins in manual
  • [ ] explain destructior and what they do in pure MSR theories in src/004_cryptographic-messages.md

Note: a challenge will be the proper way to handle fst/1 and snd/1... maybe allow a builtin to overwrite them? Or would this be a case where we want the destructor theory to be the default?

@rkunnema rkunnema added the export Issues with export modules label Nov 23, 2022
@rkunnema rkunnema self-assigned this Nov 23, 2022
@rsasse
Copy link
Member

rsasse commented Nov 23, 2022

The existing operators and builtins (including fst/1 and snd/1) should keep their previously existing semantics, please. It would be ok if there was a pairs-destructor theory or similar, that makes them destructors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
export Issues with export modules
Projects
None yet
Development

No branches or pull requests

2 participants