Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

The EqvWF_Build instance messes up with typeclass resolution #100

Open
YaZko opened this issue Aug 19, 2020 · 0 comments
Open

The EqvWF_Build instance messes up with typeclass resolution #100

YaZko opened this issue Aug 19, 2020 · 0 comments
Labels

Comments

@YaZko
Copy link
Contributor

YaZko commented Aug 19, 2020

The EqvWF_Build instance appears to lead astray typeclass resolution when performing unrelated rewrites.
Consider the following code snippet relying on itrees:

From ITree Require Import
     ITree Eq.Eq.

Goal forall {E R1 R2} (RR : R1 -> R2 -> Prop) (t1 t1': itree E R1) (t2 : itree E R2),
    eutt eq t1 t1' ->
    eutt RR t1 t2 ->
    False.
  intros * EQ1 EQ2.
  rewrite EQ1 in EQ2. (* Instantaneous *)
  Undo.

  Require Import ExtLib.Programming.Eqv.
  Fail Timeout 5 rewrite EQ1 in EQ2. (* Appears to loop, had it run a few minutes without success *)

  Remove Hints EqvWF_Build : typeclass_instances.

  rewrite EQ1 in EQ2. (* Instantaneous again *)
Abort.
@github-actions github-actions bot added the Stale label Sep 20, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant