coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Vadim Zaliva <vzaliva AT cmu.edu>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] universe inconsistency on import
- Date: Sat, 30 Nov 2019 16:42:08 -0800
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=vzaliva AT cmu.edu; spf=Pass smtp.mailfrom=vadim.zaliva AT west.cmu.edu; spf=None smtp.helo=postmaster AT mail-io1-f52.google.com
- Ironport-phdr: 9a23:tAMU1xVl+cr1WIE7kYy1PpHBjZPV8LGtZVwlr6E/grcLSJyIuqrYYxCBt8tkgFKBZ4jH8fUM07OQ7/m7HzVfu93b6jgrS99lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBoKevrB4Xck9q41/yo+53Ufg5EmCexbal9IRmrowjdrNQajIl8Jqo+1BfFvGZDdvhLy29vOV+dhQv36N2q/J5k/SRQuvYh+NBFXK7nYak2TqFWASo/PWwt68LlqRfMTQ2U5nsBSWoWiQZHAxLE7B7hQJj8tDbxu/dn1ymbOc32Sq00WSin4qx2RhLklDsLOjgk+2zRl8d+jr9UoAi5qhNwzY7bYoGbOvR9cK3AY90VWXFMUdxNWyFbGI6wc5cDAugHMO1Fr4f9vVwOrR6mCAajHuzg1z5Ihnrr1qI5yeshFQDG3BI6ENkTt3nUstT0O70WUeC00qnH1y7OYO9T2Tfg8oTHbA0uoeyVUL92bMHfx04vFwbfgVWRr4zoJzWV2f4Is2eF9uZvSeWvhHQ7pAFxuDSg2sAsiozPi4kIyV7E7T10zJgpKdC8UkJ2Yt6pHIFNuyybNoZ6WMMvT39utS0n0LMJo4S7czIPyJk/xx7QdfiHc4+Q7xLmTumRIDN4iGtkeLK4mhq+6Eagx+3iWsWu31ZKqS1FktbItn8TzRDc9s+HSv5l8keg3zaAyRzT5/laLUwokafXMZ0sz74qmpYOsEnOHzX6lUXogKOOc0Ur4Omo6+DpYrX8oZ+cMpd5ih/kPaszm8y/BP40MwkUUGif+OS8yqfs8Fb3QbpUlf02jrPVv4zfJcQGvKK2HRJa0ps75xalEzimyMgYnWUALF9dZB2HiJHpN0jSL/D8EPewmE+hkCxrxvDDJr3uGI/BLnnFkLf7fLZy8VRQyAQpzYMX25UBAbYYZfn3R0XZtdrCDxZ/PRbn7fzgDYBD348fXCq9C6uYLqqa5UGa7+YuPeCkb4oI/jvxNq52tLbVkXYllApFLuGS1pwNZSXgR6U0EwCieXPpx+w5PyIPtws6QvbtjQTeAyFefGr0VKchoDw3FdD/VNuRdsWWmLWEmRyDMNhOfGkXWFuJDDHle5jWA65ROhLXGddol3k/bZbkS4Il0kvz5grzyr4iL+2NvyNF79Ts09964+CVnhY3p2R5
Thanks for all the advice. Let me try to make this little more concrete. I am working with FMaps indexed by natural numbers,
instantiated like this:
Module NM := FMapAVL.Make(Nat_as_OT).
I’ve traced the problem of universe inconsistency to the following function (using ExlLib):
Definition NM_sequence
{A:Type}
{m} {M:Monad m}
(mv: NM.t (m A)): m (NM.t A)
:= NM.fold
(fun k v acc =>
v' <- v ;;
acc' <- acc ;;
ret (NM.add k v' acc'))
mv
(ret (@NM.empty A)).
The constraints for this function, reported by Print
are:
{Helix.MSigmaHCOL.Memory.17 Helix.MSigmaHCOL.Memory.16 Helix.MSigmaHCOL.Memory.10 Helix.MSigmaHCOL.Memory.7 Helix.MSigmaHCOL.Memory.1} |= Coq.Structures.OrderedType.4 <= Helix.MSigmaHCOL.Memory.16
Set <= Helix.MSigmaHCOL.Memory.16
Coq.FSets.FMapAVL.649 <= Helix.MSigmaHCOL.Memory.16
Helix.MSigmaHCOL.Memory.1 <= Coq.FSets.FMapAVL.649
Helix.MSigmaHCOL.Memory.1 <= Coq.FSets.FMapAVL.651
Helix.MSigmaHCOL.Memory.17 <= Coq.FSets.FMapAVL.649
Helix.MSigmaHCOL.Memory.17 <= Coq.FSets.FMapAVL.651
Helix.MSigmaHCOL.Memory.17 <= Coq.FSets.FMapAVL.659
As a workaround I’ve replaced it with a specialized version, getting rid of monadic stuff:
Definition option_NM_sequence {A:Type} (mv: NM.t (option A)): option (NM.t A)
:= NM.fold
(fun k v acc =>
match v with
| Some v' =>
match acc with
| Some acc' => Some (NM.add k v' acc')
| None => None
end
| None => None
end)
mv
(Some (@NM.empty A)).
This specialized version does not trigger the universe inconsistency error. The Universe constraints
for it are:
{Helix.FSigmaHCOL.ReifyDSHCOL.4} |= Coq.Structures.OrderedType.4 <= Coq.FSets.FMapAVL.659
Coq.Structures.OrderedType.4 <= Coq.Init.Datatypes.13
Helix.FSigmaHCOL.ReifyDSHCOL.4 <= Coq.FSets.FMapAVL.649
Helix.FSigmaHCOL.ReifyDSHCOL.4 <= Coq.FSets.FMapAVL.651
Helix.FSigmaHCOL.ReifyDSHCOL.4 <= Coq.Init.Datatypes.13
Set <= Coq.FSets.FMapAVL.659
Set <= Coq.Init.Datatypes.13
Coq.FSets.FMapAVL.649 <= Coq.FSets.FMapAVL.659
Coq.FSets.FMapAVL.649 <= Coq.Init.Datatypes.13
What can one deduce from these constraints and how I can proceed to resolve this?
Thanks!
Vadim
—
Vadim Zaliva
CMU ECE Ph.D. candidate
Mobile/Signal/WhatsApp: +1(510)220-1060
- Re: [Coq-Club] universe inconsistency on import, Vadim Zaliva, 12/01/2019
- Re: [Coq-Club] universe inconsistency on import, Christian Doczkal, 12/01/2019
- Re: [Coq-Club] universe inconsistency on import, Vadim Zaliva, 12/01/2019
- Re: [Coq-Club] universe inconsistency on import, Christian Doczkal, 12/02/2019
- Re: [Coq-Club] universe inconsistency on import, Gaëtan Gilbert, 12/02/2019
- Re: [Coq-Club] universe inconsistency on import, Jason Gross, 12/02/2019
- Re: [Coq-Club] universe inconsistency on import, Vadim Zaliva, 12/02/2019
- Re: [Coq-Club] universe inconsistency on import, Jason Gross, 12/02/2019
- Re: [Coq-Club] universe inconsistency on import, Gaëtan Gilbert, 12/02/2019
- Re: [Coq-Club] universe inconsistency on import, Christian Doczkal, 12/02/2019
- Re: [Coq-Club] universe inconsistency on import, Vadim Zaliva, 12/01/2019
- Re: [Coq-Club] universe inconsistency on import, Christian Doczkal, 12/01/2019
Archive powered by MHonArc 2.6.18.