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

Anomaly: unknown constant in Print Assumptions #3948

Closed
coqbot opened this issue Jan 23, 2015 · 4 comments
Closed

Anomaly: unknown constant in Print Assumptions #3948

coqbot opened this issue Jan 23, 2015 · 4 comments

Comments

@coqbot
Copy link
Contributor

coqbot commented Jan 23, 2015

Note: the issue was created automatically with bugzilla2github tool

Original bug ID: BZ#3948
From: @Lionel-Rieg
Reported version: trunk
CC: @ppedrot

@coqbot
Copy link
Contributor Author

coqbot commented Jan 23, 2015

Comment author: @Lionel-Rieg

Created attachment 539
Test case

In the attached file, the [Print Assumptions] command triggers the following anomaly:
Anomaly: Print Assumption: unknown constant Coq.MSets.MSetAVL.X.t.
Please report.

Attached file: file_3948.txt (text/plain, 2424 bytes)
Description: Test case

@coqbot
Copy link
Contributor Author

coqbot commented Feb 21, 2015

Comment author: @ppedrot

Here is a shorter example.

Require Import MSets.

Declare Module X : Orders.OrderedType.

Module Type Interface.
Parameter constant : unit.
End Interface.

Module DepMap : Interface.
Module Dom := MSetAVL.Make(X).
Definition constant : unit :=
let _ := Dom.fold in tt.
End DepMap.

Print Assumptions DepMap.constant.

@coqbot
Copy link
Contributor Author

coqbot commented Feb 21, 2015

Comment author: @ppedrot

This one is even self-contained.

Module Type S.
Parameter t : Type.
End S.

Module Bar(X : S).
Proof.
Definition elt := X.t.
Axiom fold : elt.
End Bar.

Module Make (X: S) := Bar(X).

Declare Module X : S.

Module Type Interface.
Parameter constant : unit.
End Interface.

Module DepMap : Interface.
Module Dom := Make(X).
Definition constant : unit :=
let _ := @ Dom.fold in tt.
End DepMap.

Print Assumptions DepMap.constant.

@coqbot
Copy link
Contributor Author

coqbot commented Sep 19, 2015

Comment author: @maximedenes

It was a tricky one :) Incorrect composition of module substitutions.
Fixed in v8.5 branch, thanks for reporting!

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

1 participant