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

simpl doesn't work on primitive coinductive records #7982

Closed
ppedrot opened this issue Jul 2, 2018 · 1 comment · Fixed by #18577
Closed

simpl doesn't work on primitive coinductive records #7982

ppedrot opened this issue Jul 2, 2018 · 1 comment · Fixed by #18577
Labels
kind: bug An error, flaw, fault or unintended behaviour. part: coinductives CoInductive types, cofixpoints etc.
Milestone

Comments

@ppedrot
Copy link
Member

ppedrot commented Jul 2, 2018

Version

Coq 8.8

Description of the problem

The following script displays the error:

Set Primitive Projections.

CoInductive stream (A : Type) := cons { hd : A; tl : stream A }.

CoFixpoint const {A} (x : A) := cons A x (const x).

Goal forall A x, (@const A x).(tl _) = const x.
Proof.
intros.
simpl.
match goal with [ |- ?x = ?x ] => idtac end.

Last line fail while it succeeds when the Primitive Projection option is not set. For some reason, cbn works.

@herbelin
Copy link
Member

Fixed in #18577.

herbelin added a commit to herbelin/github-coq that referenced this issue Feb 1, 2024
herbelin added a commit to herbelin/github-coq that referenced this issue Feb 4, 2024
herbelin added a commit to herbelin/github-coq that referenced this issue Feb 7, 2024
coqbot-app bot added a commit that referenced this issue Feb 21, 2024
…projection of cofixpoints in "simpl" reduction strategy

Reviewed-by: ppedrot
Co-authored-by: ppedrot <ppedrot@users.noreply.github.com>
@coqbot-app coqbot-app bot added this to the 8.20+rc1 milestone Feb 21, 2024
louiseddp pushed a commit to louiseddp/coq that referenced this issue Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug An error, flaw, fault or unintended behaviour. part: coinductives CoInductive types, cofixpoints etc.
Projects
None yet
4 participants