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

The normal form is not robust. Substitution breaks an invariant of the normal form. #19

Open
FardaleM opened this issue Nov 28, 2023 · 0 comments

Comments

@FardaleM
Copy link
Collaborator

Currently, the normal form is not stable by substitution. Tuples are represented as sorted arrays, this property is not preserved by substitution. There are 3 possible ways to fix it:

  1. Change the normal form and remove the constraint on the array to be sorted. This solution has an impact on the equivalence test, which currently relies on this property.
  2. Do the sorting after the substitution. Could have an impact on speed
  3. Use another representation that preserves the equivalence modulo AC.

Also, one need to check that replacing a variable in the head position by an arrow is currently correctly handle.

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

No branches or pull requests

1 participant