From guillaume.allais at ens-lyon.org Wed Jun 19 09:54:22 2019 From: guillaume.allais at ens-lyon.org (Guillaume Allais) Date: Wed, 19 Jun 2019 08:54:22 +0100 Subject: [Agda-dev] Meta-theoretical implications of first class Level Message-ID: <1e7669ad-f079-39a9-fbaa-3b0ca5db1d37@ens-lyon.org> Hi all, I wrote a paper for TyDe relying heavily on the fact that Levels are a first class notion in Agda. Following comments by reviewers, I am touching up the discussion on the limitations of the project and one of them is that other languages may be reticent to adopt such a first class status for Levels. Is it fair to say that the meta-theoretical consequences of being able to store, pass around and compute Levels are not known? Cheers, -- gallais -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From guillaume.brunerie at gmail.com Wed Jun 19 11:40:31 2019 From: guillaume.brunerie at gmail.com (Guillaume Brunerie) Date: Wed, 19 Jun 2019 11:40:31 +0200 Subject: [Agda-dev] Meta-theoretical implications of first class Level In-Reply-To: <1e7669ad-f079-39a9-fbaa-3b0ca5db1d37@ens-lyon.org> References: <1e7669ad-f079-39a9-fbaa-3b0ca5db1d37@ens-lyon.org> Message-ID: Hi Guillaume, I've also met people who were skeptical about first-class levels in Agda, but I personally don't really see where the problem is. It seems pretty clear to me that there should be an interpretation of Agda in, say, ZFC + (?+1) inaccessible cardinals (called ?_0, ..., ?_n, ?, ?_?) where - "Level" is interpreted as the set of natural numbers - "Set i" is interpreted as ?_i - large (universe polymorphic) types like i : Level |- Set i are interpreted as (families of) elements of ?_? - Pi-types take A in ?_i and B in ?_j and return something in ?_(max i j) (works also when i or j is ?, and if j is not constant, then it gets bumped to ?, but in those cases where max i j = ?, the Pi-type is not a term anymore, it is simply a large type) This allows for any kind of storing/computation/passing around of levels and I don?t see what could go wrong with it. But I haven?t seen any paper about this and I haven?t checked the details, so maybe something does go wrong with it (?) This is only an answer about consistency, I haven?t thought about more syntactic things like decidability of type-checking, confluence, strong normalization, and so on. Best, Guillaume Den ons 19 juni 2019 09:54Guillaume Allais skrev: > Hi all, > > I wrote a paper for TyDe relying heavily on the fact that Levels are > a first class notion in Agda. Following comments by reviewers, I am > touching up the discussion on the limitations of the project and one > of them is that other languages may be reticent to adopt such a first > class status for Levels. > > Is it fair to say that the meta-theoretical consequences of being able > to store, pass around and compute Levels are not known? > > Cheers, > -- > gallais > > _______________________________________________ > Agda-dev mailing list > Agda-dev at lists.chalmers.se > https://lists.chalmers.se/mailman/listinfo/agda-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: