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

Make new-format rules without antileft the default #3391

Merged
merged 3 commits into from
May 4, 2023

Conversation

Baltoli
Copy link
Contributor

@Baltoli Baltoli commented May 4, 2023

Related to: #3035

This PR inverts the previous behaviour of ModuleToKore such that the new-format rewrite rules are generated by default, rather than being gated behind the --disable-kore-antileft flag.

Changes in this PR:

  • Rename and invert uses of --disable-kore-antileft to produce --enable-kore-antileft
  • Reorder one symbolic Map test on the Haskell backend that seems to apply two rules in a different order if the new format rules are used

This PR's CI run will demonstrate that the new changes allow the full regression test suite to run. I have also completed downstream testing with the following semantics via their Nix flakes, and can add more to this list if required:

  • C
  • EVM

If this change causes unexpected failures, we can address it in one of two ways depending on the failure:

  • Add the --enable-kore-antileft flag to a semantics' build system, and fix gradually
  • Revert this PR and revisit the entire change

@rv-jenkins rv-jenkins changed the base branch from master to develop May 4, 2023 09:28
@Baltoli Baltoli marked this pull request as draft May 4, 2023 09:32
Copy link
Collaborator

@dwightguth dwightguth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that we are going to need the antileft patterns in order to do proof object generation, which we are already starting to dig into, I would not say that the enable flag ought to be deprecated. We're going to want to keep it around. Code looks good otherwise though.

@Baltoli
Copy link
Contributor Author

Baltoli commented May 4, 2023

From the original issue:

That \not{SortGeneratedTopCell{}}(priorityLE2{}()) encodes the priority of the rewrite rule into Kore, and it was deemed necessary a long time ago for constructing proof objects. This is no longer one of our goals [...]

Obviously happy to remove the deprecation and keep the old behaviour, I just wanted to make sure everyone is on the same page here. We can discuss in the K meeting.

@Baltoli Baltoli marked this pull request as ready for review May 4, 2023 17:46
@dwightguth dwightguth merged commit 94663c6 into develop May 4, 2023
@dwightguth dwightguth deleted the default-antileft branch May 4, 2023 19:39
Baltoli pushed a commit that referenced this pull request Nov 1, 2023
…3073)

* haskell-backend/src/main/native/haskell-backend: acb353d48 - Update dependency: deps/k_release (#3391)

* Sync flake inputs to submodules

* haskell-backend/src/main/native/haskell-backend: 549ee9057 - pin CI to ubuntu-20.04 (#3401)

* Sync flake inputs to submodules

* haskell-backend/src/main/native/haskell-backend: a45daae7e - Presort pairWiseElemsOfSameType argument (#3396)

* Sync flake inputs to submodules

Co-authored-by: rv-jenkins <devops@runtimeverification.com>
Co-authored-by: Ana Pantilie <45069775+ana-pantilie@users.noreply.github.com>
@Baltoli Baltoli mentioned this pull request Dec 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants