Skip to Content.
Sympa Menu

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

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Debugging Universe Inconsistencies


Chronological Thread 
  • From: Christian Doczkal <christian.doczkal AT ens-lyon.fr>
  • To: coq-club AT inria.fr
  • Subject: [Coq-Club] Debugging Universe Inconsistencies
  • Date: Wed, 5 Sep 2018 17:57:47 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=christian.doczkal AT ens-lyon.fr; spf=Neutral smtp.mailfrom=christian.doczkal AT ens-lyon.fr; spf=None smtp.helo=postmaster AT labbe.ens-lyon.fr
  • Ironport-phdr: 9a23:ZHyY0BLNWjTSXT7M5dmcpTZWNBhigK39O0sv0rFitYgRLf3xwZ3uMQTl6Ol3ixeRBMOHs60C07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwdFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QLYpUjqg8qhrUgflhjkHOTAk82/ZhMJ/g61HrxyuvBF/34zZbZuJOPZicK7Qf9UXTndBUMZLUCxBB5uxYpUPD+obPOZYtJX9p1oUohu4GAKiCuTvxSNJh3/1x6I61/kqHAba0wwgBdIOsW/UrMn0NKgIV+C51rTHzTLfYPJX2jfy8ozIfws/rvGKRrJ8aM7RyEkoFwPDlFmQp5blMiqT2+8QsGab9/JtWf+ghmI7sQ18oDqiyt0xhoTIhI8Z0E7I+TtnzIotONG1R1J3bcSmHZZSrS2WKoV7TtkmTmxmvisx16cItoShfCcQzZQq3x7fZOKDc4iP+h/jUPyeLixji317Yr6wmRCy8VO5xu34Vsi011BKojBLktnWrnwN1hrT5dabSvZl40us1iqD2xrR5+xGO0w4iKvWJpw7zrIuiJYfr1zPHirsl0X3iK+WeF8k+u+t6+n/frrmpoWcN45vigHiM6QhgMq/Df4lPQgJQ2ea+Oe826fn/UDiXrpKiOY2nrDdsJHaIsQboLS1AwFP0oo78RawEy+m0MgEnXkANF9KZBWHj5HwN17SJPD4EOywjk+3kDZrwvDGJqfuDo/MLnjFirfhfKxy51RSyAopnphj4MdfDahEK/buUGfwssbZB1k3KV+a2eHiXf59zIIFRWOGBOe1N6jAslaMrrYkI/ONf5MUsTC7J/8u9f3niVc0n0RYebiu290ZcibrTbxdP0yFbC+00Z86GmAQs19mFb24uBi5STdWIk2Kcec57zA/BpihCN6YFI2rm/mFzSC9WJNMNDofVgK8VEzwfoDBYM8iLTqIK5Y6wDECTv2lWognkx+05lejluhXa9HM8yhdjqrNkdh44+qKxEM2/DZ+AoKQ1XrIS3BzmCUGXW1u0Q==

Hello everyone,

We have a large development where we have generic structures and some
concrete instances for them. One of these is for relations (X -> Y ->
Prop) with (X,Y : Set).

Now I was trying to generalize this to all instances with (X,Y : Type).
This leads to a universe inconsistency thousands of lines down the road.
I would hope that this is merely a problem of making certain things
universe polymorphic, but I don't manage to come up with a minimal
example reproducing the problem.

At first, I only got the rather uninformative "Universe Inconsistency"
error when trying to load two separately compiled parts of the library.

With some trial and error I got to the point where I have statement that
type checks before the generalized instances are imported and fails to
type check afterwards. This gives me an Error of the form:

"... cannot ensure that "Type@{foo.2}" is a subtype of Type@{bar.3}"

I can use "Print Universes" before and after the Import, but that yields
thousands of constraints and even the diff is not too enlightening.

If I understand the universe mechanism and the error message correctly,
this actually means that assuming "foo.2 <= bar.3" is inconsistent with
the current collection of universe constraints. So here are some questions:

1) Is my understanding correct?

2) If yes, is there a way to obtain a minimal (or at least sufficiently
small) subset of the current collection of constraints, proving that
"foo.2 <= bar.3" cannot be consistently added.

3) What other things can I do to shed some light onto what is happening?

Any help would be appreciated.

Best,
Christian



Archive powered by MHonArc 2.6.18.

Top of Page