coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Guillaume Melquiond <guillaume.melquiond AT inria.fr>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Unexpected restriction in universe-polymorphic definition
- Date: Thu, 14 Sep 2017 12:36:22 +0200
On 13/09/2017 10:26, Dominik Kirst wrote:
> When tagging the function type explicitly with two (unconstrained)
> universe variables, the exact level of the codomain is kept variable and
> the supremum becomes definable. Is this behaviour an intended minimisation?
I would not even qualify that behavior as minimization; it looks like
plain inference.
For example, (fun x : Type => x) is inferred as (Type@{i} -> Type@{i}),
not as (Type@{i} -> Type@{j} | i <= j), and this is intended.
So, if you want extra universes and constraints, just add them by hand:
Fixpoint emb'@{i j} (s : Tree@{i}) : Tree@{j} :=
let (A, f) := s in
sup A (fun a => emb' (f a)).
Best regards,
Guillaume
- [Coq-Club] Unexpected restriction in universe-polymorphic definition, Dominik Kirst, 09/13/2017
- Re: [Coq-Club] Unexpected restriction in universe-polymorphic definition, Guillaume Melquiond, 09/14/2017
- Re: [Coq-Club] Unexpected restriction in universe-polymorphic definition, Amin Timany, 09/14/2017
- Re: [Coq-Club] Unexpected restriction in universe-polymorphic definition, Dominik Kirst, 09/18/2017
- Re: [Coq-Club] Unexpected restriction in universe-polymorphic definition, Amin Timany, 09/14/2017
- Re: [Coq-Club] Unexpected restriction in universe-polymorphic definition, Guillaume Melquiond, 09/14/2017
Archive powered by MHonArc 2.6.18.