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

[rewrite] with evars in the goal: Logic.RefinerError(_). #30

Open
RalfJung opened this issue Feb 21, 2016 · 1 comment
Open

[rewrite] with evars in the goal: Logic.RefinerError(_). #30

RalfJung opened this issue Feb 21, 2016 · 1 comment
Assignees

Comments

@RalfJung
Copy link
Contributor

The following file triggers the following error with its last tactic:
Anomaly: cvtac's exception: Logic.RefinerError(_). Please report.

Require Export Program Setoid Utf8.
Require Export mathcomp.ssreflect.ssreflect.

(* -*- mode: coq; coq-prog-args: ("-emacs" "-Q" "." "" "-top" "cmra") -*- *)
(* File reduced by coq-bug-finder from original input, then from 1113 lines to 184 lines *)

Class Equiv A := equiv: relation A.
Infix "≡" := equiv (at level 70, no associativity).
Notation "(≡)" := equiv (only parsing).
Class Assoc {A} (R : relation A) (f : A → A → A) : Prop :=
  assoc x y z : R (f x (f y z)) (f (f x y) z).

Class Op (A : Type) := op : A → A → A.
Infix "⋅" := op (at level 50, left associativity).
Notation "(⋅)" := op (only parsing).

Structure cmraT := CMRAT {
  cmra_car :> Type;
  cmra_equiv : Equiv cmra_car;
  cmra_op : Op cmra_car;
}.
Existing Instances cmra_op cmra_equiv.

Section cmra.
  Context {A : cmraT}.
  Global Instance cmra_equivalence : Equivalence ((≡) : relation A).
Admitted.
End cmra.


Section cmra_mixin.
  Context {A : cmraT}.
  Global Instance cmra_assoc : Assoc (≡) (@op A _).
Admitted.
End cmra_mixin.
Context {A : cmraT}.
Implicit Types x y z : A.

Lemma L x y z : z ⋅ x ⋅ y ≡ y ⋅ x.
Admitted.

Lemma l x y : x ⋅ y ≡ y ⋅ x.
Proof.
rewrite -L.
rewrite -!assoc.
@RalfJung RalfJung changed the title [rewrite] with evars in the goal: Logic.RefinerError(_). Please report. [rewrite] with evars in the goal: Logic.RefinerError(_). Feb 21, 2016
@gares
Copy link
Member

gares commented Feb 22, 2016

You are right, I've a fix, but it may introduce wanted backward incompatibility. So I'm discussing this on the mailing list

@gares gares self-assigned this Jan 19, 2017
@gares gares added this to the 1.7 milestone Jan 19, 2017
@gares gares removed this from the 1.7 milestone Apr 17, 2018
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

2 participants