Skip to content

Regression: rewrite no longer works with JMeq in Rocq 9.2+rc1 (even with Scheme Rewriting for JMeq) #233

@davidnowak

Description

@davidnowak

In Rocq 9.1.0 with stdlib 9.0.0, rewriting with a hypothesis of type JMeq x y works out of the box. However, in Rocq 9.2+rc1 with the current master branch of stdlib, the same code fails, even after explicitly enabling rewriting for JMeq. This appears to be a regression, but it is unclear whether the issue lies in Rocq itself or in stdlib.

Working behavior (Rocq 9.1.0 + stdlib 9.0.0):

From Stdlib Require Export JMeq.

Goal forall A (x y : A), JMeq x y -> x = y.
intros A x y H.
rewrite H.
(* Goal becomes: y = y *)

Failing behavior (Rocq 9.2+rc1 + stdlib master):

From Stdlib Require Export JMeq.

Scheme Rewriting for JMeq.

Goal forall A (x y : A), JMeq x y -> x = y.
intros A x y H.
Fail rewrite H.

Despite the Scheme Rewriting for JMeq command, rewrite H is rejected.

Is this behavior change expected while stdlib is being adapted to Rocq 9.2,
or should rewriting with JMeq continue to work in this situation?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions