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

Antileft patterns remain for [owise] rules #3398

Closed
Baltoli opened this issue May 8, 2023 · 5 comments
Closed

Antileft patterns remain for [owise] rules #3398

Baltoli opened this issue May 8, 2023 · 5 comments
Assignees

Comments

@Baltoli
Copy link
Contributor

Baltoli commented May 8, 2023

Related to: #3035

@dwightguth identifies that rules with owise are still having priority predicates generated for them:

 axiom{R} \implies{R} (
    \and{R} (
      \not{R} (
        \or{R} (
          \exists{R} (Var'Unds'Gen0:SortBool{},
            \and{R} (
              \top{R}(),
              \and{R} (
                \in{SortK{}, R} (
                  X0:SortK{},
                  kseq{}(inj{SortBool{}, SortKItem{}}(Var'Unds'Gen0:SortBool{}),dotk{}())
                ),
                \top{R} ()
              )
          )),
          \bottom{R}()
        )
      ),
      \and{R}(
        \top{R}(),
        \and{R} (
          \in{SortK{}, R} (
            X0:SortK{},
            VarK:SortK{}
          ),
          \top{R} ()
        )
    )),
    \equals{SortBool{},R} (
      LblisBool{}(X0:SortK{}),
     \and{SortBool{}} (
       \dv{SortBool{}}("false"),
        \top{SortBool{}}())))
@Baltoli Baltoli self-assigned this May 8, 2023
@dwightguth
Copy link
Collaborator

I believe it's possible that the antileft patterns for rewrite rules were removed but not the ones for equations.

@Baltoli
Copy link
Contributor Author

Baltoli commented May 9, 2023

I want to confirm that removing this kind of antileft is what we intended with the original proposal in #3035; as I recall it that change was specifically to do with priority predicate antilefts.

What is the actual KORE that you'd expect to see here for this rule @dwightguth? I can't find a version with the \not removed that is currently accepted by the LLVM backend, which makes me suspicious.

@Baltoli
Copy link
Contributor Author

Baltoli commented May 9, 2023

If the KORE you'd expect to see isn't accepted by the backend, we'll need to do another multi-stage change. It is also possible I just haven't found the right form yet, though

@ana-pantilie
Copy link
Contributor

Let's not remove antileft patterns for equations just yet, the old backend still depends on these for some reason which has been very hard to investigate runtimeverification/haskell-backend#2250

@dwightguth
Copy link
Collaborator

sigh I wish I'd known that was the plan. I've waited a couple weeks to continue progress on something because I thought it would be easier to implement once we finished this change, but that's not really true if we're only removing the patterns from top level rules. It would have saved a lot of time if I'd known I wasn't actually blocked on this change. Oh well...

@Baltoli Baltoli closed this as completed May 10, 2023
Baltoli pushed a commit that referenced this issue Nov 1, 2023
…3085)

* haskell-backend/src/main/native/haskell-backend: b88c128f3 - Transfer not simplified claims to applyClaim (#3398)

* Sync flake inputs to submodules

* haskell-backend/src/main/native/haskell-backend: 8352c471b - Remove `UnifierT` from `NotSimplifier` (#3404)

* Sync flake inputs to submodules

* haskell-backend/src/main/native/haskell-backend: 324773459 - Remove keys faster (#3395)

* Sync flake inputs to submodules

* haskell-backend/src/main/native/haskell-backend: 275afe775 - Monomorphization of Simplifier, leg 4 (#3408)

* Sync flake inputs to submodules

* haskell-backend/src/main/native/haskell-backend: 5a3472be3 - Update dependency: deps/k_release (#3406)

* Sync flake inputs to submodules

Co-authored-by: rv-jenkins <devops@runtimeverification.com>
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

3 participants