Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Debugging Universe Inconsistencies

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Debugging Universe Inconsistencies


Chronological Thread 
  • From: Gaëtan Gilbert <gaetan.gilbert AT skyskimmer.net>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Debugging Universe Inconsistencies
  • Date: Fri, 7 Sep 2018 16:26:51 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gaetan.gilbert AT skyskimmer.net; spf=Pass smtp.mailfrom=gaetan.gilbert AT skyskimmer.net; spf=None smtp.helo=postmaster AT relay4-d.mail.gandi.net
  • Ironport-phdr: 9a23:n7SY0xSbCbQLV4+SZviQjdj8q9psv+yvbD5Q0YIujvd0So/mwa69bBaN2/xhgRfzUJnB7Loc0qyK6/+mATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfbF/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlSgHLSY0/nzJhMx+jKxVoxyvqBJwzIHWfI6bO+Fzfr/ecN4AWWZNQshcWi5HD4ihb4UPFe0BPeNAoof8vVQJsQe+ChOqBOz3yzFIh3v20rYk3OQ7DQHNwQstH90Uv3vKsNX6LqESXfq6zKnJyTXMdO1Z2S3h6IXTaRAhovGNXalzccrQzEkvEh3Kjk+KpYzjITyVyv0Avm6G5ORjTeKik3ArpxxzrzS1xMoglpPFip8Wx13K7yl13YI4KNygREN6f9KoCoZcuz2EO4dsX88vTGJltDwnxrAHpZK2ejUBxo49yB7FcfOHdpCF4hL9W+aVJjd1nGhld6y7hxmo8UmtxfTwWdSu3FZPtCVFk93MumoC1xPJ7MiIV/p98l2n2TmRywDf8uBEIUYqmqrHM5Mt3KM8m5gJvUnBAiP6glj6gayYe0k+5+Sl7+Xqbq3jppCGNo90jg/+Mr4pmsy6Gek4PRIBUHaH+eum0r3v50L5QLROjvItjKbZqozaKN8Apq66Aw5VyYUj6xe6DzejztsYh2MLLFRbdxKbl4TpIU3BIOjkDfejhFShiCtkx/ffPrH4HprNKmXDn6z6cLZm609czRIzwspF65JVDLEBOvPzVVXruNzWFB9qezCzlu3gEZB20p4UcWOJGK6Qdq3I4nGS4ed6DOAPeIYTjxn8L/Io/eKm2XAwlEMUe++m3J8dZWqkNu9lMl6aYH/pj81HF2oW6FltBNf2gUGPBGYAL025WLgxs2liWdCWSLzbT4Xou4SvmSKyH5lYfGdDUw7eCnT5bIaFXvIBcmSUL9Mzy2VYB4jkcJco0FSVjCG/06Bud7SG4S4JrpHi0d14/avVmA1grWUpXfTY6HmESiRPpk1NRzIy2/oi81Zwzl6Sje10xflRFNgV6PpPXgZ8M5PAnbR3


> - Require Import A B. succeeds
> - Require Import B A. fails

That sounds like a bug, you can open an issue on github with reproduction instructions and we will look into it.


> globalization of polymorphic reference <ID> would forget universes.

Unfortunately various tactics and commands do not support or badly support universe polymorphism. This error means some function hasn't been adapted. It should probably be an anomaly.
Depending on what exactly is failing it may be possible for us to fix it, or it could be beyond our current manpower.

Gaëtan Gilbert

On 07/09/2018 15:59, Christian Doczkal wrote:
Hello,

I got back to investigating universe inconsistencies, and I realize that
I still don't quite understand the mechanics. So here are two more
questions:

1) I have two modules, say A and B such that:
- Require Import A B. succeeds
- Require Import B A. fails

So what is happening to the universe constraints upon Require Import
that makes this order sensitive? In would have expected that either
order yields the union of the constraints imposed by A and B. In this
particular case, A contains universe polymorphic instances of classes
that are common ancestors of A and B.

2) While experimenting with making more and more things universe
polymorphic, I encountered an error message I don't understand:

globalization of polymorphic reference <ID> would forget universes.

This seems to be undocumented, so what is the problem here? (e.g., is
there a minimal example triggering this message?)

Best,
Christian

On 06/09/18 18:38, Christian Doczkal wrote:
Hello,

On 06/09/18 13:55, Jan-Oliver Kaiser wrote:

You can print entire modules using [Print] or [Print Module] in case of
ambiguities.

Thank you, I simply hadn't thought of that. Pretty useful.

Apart from that, [Set Printing Universes] should *sometimes* show the
full universe cycle when an inconsistency occurs, but it depends very
much on the particular error that appears.

This I find very interesting. Could someone with insight into the
algorithm comment on which kind of type checking problems are more
likely to trigger an error message providing a full cycle?

Other than that, has anyone played with dumping the output of print
universes plus the constraint that is reported as inconsistent into some
external tool that finds irreducible infeasible subsets for the
underlying ILP? (Does there even exist open source software finding these?)

Best,
Christian




Archive powered by MHonArc 2.6.18.

Top of Page