coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Helmut Brandl <helmut.brandl AT gmx.net>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Universe Polymorphism
- Date: Wed, 16 Nov 2022 22:32:41 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=helmut.brandl AT gmx.net; spf=Pass smtp.mailfrom=helmut.brandl AT gmx.net; spf=None smtp.helo=postmaster AT mout.gmx.net
- Ironport-data: A9a23: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 OzyMUEc8vR8Ll+FiArTCjGGbT9b+87n
- Ironport-hdrordr: A9a23:W8a2nqqqoxFKdFCrhWnxhncaV5oJeYIsimQD101hICG9E/b3qy nKpp8mPHDP6Ar5NEtNpTnEAtjjfZqjz/FICPgqXItKNTOO0AaVxcNZnO/fKlbbak7DH4BmpM JdWpRfTPvtEFN9kcH22wWgFc08qeP3iJxA/d2uqEuEVmtRGsddBupCe3+m+sYafmN7OaY=
- Ironport-phdr: A9a23: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 TuUqNNy8QnOrw==
- Ironport-sdr: 637556fa_IYxpRIYKpo/QOG2r0/f6CcNkMmSANOH7pHXQsJruaXOdwsR vsf5X/vPhyw7dfWfZneACdXMlEKJ7fncHraSI1w==
- Ui-outboundreport: notjunk:1;M01:P0:wF76s5mLftE=;t/cSpVoGADuNqHbicUjIPPZ8dLn r+DIuE4MTOb8bDsxBorHIOj+uR56zlep5SpV6T2NJzFRPSrHFiAqpLtYnXDxBbj4s3VSH5G6p dNBjvUJcHtWfi5Qz64N9lrd6MMkg8m6wS5z6zQOewp3LKID8bdK3QJ/p52n7gFDOZOdBPjato uTpfKqNTzkFQWQLVujkzFJhl+qXBpcUQcxy7V6ZvFh5itO0vO+dHmB2GM4Yq6nBJcwNKhOlhH ot9E3/nsKAoinBdW3PwfodvdciZqLucV5FLz7zPkVhscayr8plYKw9btzLWvcdQzw8JXAIXW5 Ygj+gwKZmCtlUIAqnVSxnKItSCrlQUx/TtRyP0bA9/qovA9ISfcM0VwTwVQ/pKz+WnLfQMvu+ QoXwJ9mKmkFMNgWL1y7LEqqzjzaoA8Z7izcemqdKNkLLWXD0BbQw5GQrX7atwDBmcGzG9AbH7 XgN7cDS9DBGE9BxJiIAEGtcaKY60HoqbziXtBiB0CkKM06JSiLxoViiQ1Xht4F/OB2JDjir/2 Jkzhk+67ipjLz7+0gulisA3nwU/yxSjcSeLIuaYiV15+6UG18uAj2fH2i/Y2MInt1086rBUKN fxCgnzoX2hjEvWYehqXHA8BQgZnnyIlq7Yq2HoajMyUgNxJ3fv4LGGeD/UJfyhcjyazirkabP lefTGxvJ/cEEHz0GBP3A1fA/AjSpVfS/KjDhRSfGcoDLyIxRDt6qtkuP+x118a7cw6TWHxvgD ZwXphAFZnAmSE2pp+TZkbiGBt8LrWblmjKF4EzR/zw4bmOlbZN/KtvU5+T3WKbJSD9lX6Cia+ /d4yupj7bZera+dh92EOh59/0FgAUpAGujfleYGKIb0UNqIQiZCxSFZ9I30GYPx3XZqRw3Xnv CjooSvSFRF0BWOrrho0Pmo/a20VoKN9K8e+trtwqmibrdAWd8z1JtWv9EKmjd7rS1notV/hmX b14kow==
On 16 Nov 2022, at 22:06, Helmut Brandl <helmut.brandl AT gmx.net> wrote:On 16 Nov 2022, at 21:23, Gaëtan Gilbert <gaetan.gilbert AT skyskimmer.net> wrote:I.e. the argument type of a function type can live in a higher universe than the result type.
Yes, but "lst" is an _inhabitant_ of the function type, it's not the function type itself.
Similarly "(fun A:Type@{u+1} => A) : Type@{u+1} -> Type@{u}" is rejected
In that case the rejection is clear to me. The term ‘A’ has type ’Type@{u+1}’. Therefore the function returns a result of type ’Type@{u+1}’ and not ’Type@{u}’ as required by the type annotation. I.e. the function on the left hand side of the colon is not an inhabitant of the type on the right hand side of the colon. The compiler must reject it.
Are you saying that the type ’Type@{u+1} -> Type@{u}’ is not allowed to be inhabited? Is there such a typing rule? If there is such a typing rule, I would like to understand why it is there. Does the violation of such a typing rule create any inconsistencies like an inhabitant of the type ‘forall A: Type, A’?
According to coq the type ’Type@{u+1} -> Type@{u}’ can have inhabitants. E.g. the following is accepted by coq:
Check (fun A: Type@{u+1} => nat): Type@{u+1} -> Type@{u}.
However my construction of the inductive type ‘lst’ which is an inhabitant of exactly that type is rejected. Why is it possible to construct a function of that type but not an inductive definition?
— Helmut
On 16/11/2022 21:02, Helmut Brandl wrote:I’d like to understand universes and universe polymorphism better. Therefore I have some questions:
The following term is well typed in coq:
Universe u.
Check forall A:Type@{u+1}, Type@{u}.
I.e. the argument type of a function type can live in a higher universe than the result type. If I try the same with an inductive type, I get an error.
Inductive lst (A: Type@{u+1}): Type@{u} :=
| nil: lst A
| cons: A -> lst A -> lst A.
*Error:*Universe inconsistency. Cannot enforce u = max(Set, u+1).
What is the theoretical background of this consistency error. The type of ‘lst’ is exactly the type I have checked above as well typed. I suspect that if it were well typed, then I could ‘hide’ an object from the universe ‘u+1’ in the list which resides in the universe ‘u’. Can anybody help to give a more precise explanation.
Regards
Helmut
- [Coq-Club] Universe Polymorphism, Helmut Brandl, 11/16/2022
- Re: [Coq-Club] Universe Polymorphism, Gaëtan Gilbert, 11/16/2022
- Re: [Coq-Club] Universe Polymorphism, Helmut Brandl, 11/16/2022
- Re: [Coq-Club] Universe Polymorphism, Helmut Brandl, 11/16/2022
- Re: [Coq-Club] Universe Polymorphism, Gaëtan Gilbert, 11/16/2022
- Re: [Coq-Club] Universe Polymorphism, Helmut Brandl, 11/17/2022
- Re: [Coq-Club] Universe Polymorphism, Gaëtan Gilbert, 11/17/2022
- Re: [Coq-Club] Universe Polymorphism, Helmut Brandl, 11/17/2022
- Re: [Coq-Club] Universe Polymorphism, Gaëtan Gilbert, 11/17/2022
- Re: [Coq-Club] Universe Polymorphism, Helmut Brandl, 11/17/2022
- Re: [Coq-Club] Universe Polymorphism, Gaëtan Gilbert, 11/16/2022
- Re: [Coq-Club] Universe Polymorphism, Helmut Brandl, 11/16/2022
- Re: [Coq-Club] Universe Polymorphism, Helmut Brandl, 11/16/2022
- Re: [Coq-Club] Universe Polymorphism, Gaëtan Gilbert, 11/16/2022
Archive powered by MHonArc 2.6.19+.