*[HoTT] Injective types@ 2019-04-30 23:05 escardo.martin2019-05-01 2:50 ` Michael Shulman 0 siblings, 1 reply; 11+ messages in thread From: escardo.martin @ 2019-04-30 23:05 UTC (permalink / raw) To: Homotopy Type Theory [-- Attachment #1.1: Type: text/plain, Size: 1366 bytes --] I would like to advertise this paper, which investigates injective types and algebraically injective types, and their relationship (https://arxiv.org/abs/1903.01211). In this paper, it is important to take universe levels seriously (for the reasons explained there). In the HoTT book, and in Coq, the universes are taken to be cumulative on the nose, and we pretend, notationally, that there is only one universe (this is called typical ambiguity). Based on the experience of this paper, I have the feeling that the loss of cumulativity, as in Agda, but also as in the infty-topos model of univalent type theory by Mike (https://arxiv.org/abs/1904.07004) is a good thing. In particular, I am not sure how typical ambiguity with cumulativity would be able to handle what is said in the above injectives paper. When I say "would be able to handle" I don't mean just "accepting the constructions", but also present them to the (mathematical) user in such a way that is both understandable and usable as a blackbox (by quoting published resuls). Martin -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. [-- Attachment #1.2: Type: text/html, Size: 1654 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-04-30 23:05 [HoTT] Injective types escardo.martin@ 2019-05-01 2:50 ` Michael Shulman2019-05-01 6:25 ` escardo.martin 0 siblings, 1 reply; 11+ messages in thread From: Michael Shulman @ 2019-05-01 2:50 UTC (permalink / raw) To: Martin Hotzel Escardo;+Cc:Homotopy Type Theory Interesting point! I definitely agree that we don't want to be *forced* to be typically ambiguous; there are times when we need to explicitly distinguish universes. This was already the case in a few places in the book, e.g. Lemmas 10.3.21 and 10.3.22. And Coq's universe polymorphism now also *allows* the user to explicitly specify universe levels when desired. (On the other hand, it's also nice to not be forced to label all universes explicitly all the time. But on the third hard, at least in Coq as it is now, the interaction of user-specified universes with automatically-deduced ones seems to be fairly fragile.) However, it's not clear to me why cumulativity would be a problem. In fact you wrote in the paper that "We don't assume that the universes are cumulative... but we also don't assume that they are not". Which makes it sound as though cumulativity, though not necessary, wouldn't be a problem if it did hold -- would it? On Tue, Apr 30, 2019 at 4:05 PM <escardo.martin@gmail.com> wrote: > > I would like to advertise this paper, which investigates injective types and algebraically injective types, and their relationship (https://arxiv.org/abs/1903.01211). > > In this paper, it is important to take universe levels seriously (for the reasons explained there). In the HoTT book, and in Coq, the universes are taken to be cumulative on the nose, and we pretend, notationally, that there is only one universe (this is called typical ambiguity). Based on the experience of this paper, I have the feeling that the loss of cumulativity, as in Agda, but also as in the infty-topos model of univalent type theory by Mike (https://arxiv.org/abs/1904.07004) is a good thing. In particular, I am not sure how typical ambiguity with cumulativity would be able to handle what is said in the above injectives paper. > > When I say "would be able to handle" I don't mean just "accepting the constructions", but also present them to the (mathematical) user in such a way that is both understandable and usable as a blackbox (by quoting published resuls). > > Martin > > -- > You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. > To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-05-01 2:50 ` Michael Shulman@ 2019-05-01 6:25 ` escardo.martin2019-05-01 16:55 ` Michael Shulman 0 siblings, 1 reply; 11+ messages in thread From: escardo.martin @ 2019-05-01 6:25 UTC (permalink / raw) To: Homotopy Type Theory [-- Attachment #1.1: Type: text/plain, Size: 3200 bytes --] On 01/05/2019 03:50, Michael Shulman wrote:> Interesting point! I definitely agree that we don't want to be > *forced* to be typically ambiguous; there are times when we need to > explicitly distinguish universes. This was already the case in a few > places in the book, e.g. Lemmas 10.3.21 and 10.3.22. And Coq's > universe polymorphism now also *allows* the user to explicitly specify > universe levels when desired. (On the other hand, it's also nice to > not be forced to label all universes explicitly all the time. But on > the third hard, at least in Coq as it is now, the interaction of > user-specified universes with automatically-deduced ones seems to be > fairly fragile.) Right. > However, it's not clear to me why cumulativity would be a problem. In Agda each type gets a unique universe (or at most one universe) and often (but not always) the system is able to infer them if we write question marks "?" for them (but not always). Cumulativity is not "on the nose" in the sense that from X : U_l you would get X : U_m for m ≥ l. Instead, if you need to have (a copy of) X in U_m, you need to use an explicit embedding U_l → U_m. (I only ever used this embedding to show that U_l is a retract of U_m if we assume propositional resizing.) In practice, however, I never needed to use this embedding, as the closure properties for universes work with more than one universe at a time. For instance, if X:U_l and A : X → U_m, then Π X A : U_{max l m}. With this kind of closure property, I haven't encountered the practical need for cumulativity. It is nice, in practice, that universes are uniquely determined. Insted of thousands of level constraints, we have a unique, small, (polymorphic) level assignment. > In fact you wrote in the paper that "We don't assume that the > universes are cumulative... but we also don't assume that they are > not". Which makes it sound as though cumulativity, though not > necessary, wouldn't be a problem if it did hold -- would it? In theory it wouldn't be a problem if it holds. However, if Agda did have cumulativity, it would lose the unique-level assignment property that I use to infer the levels of the results from my given levels of the data. However, in the absence of a concrete proof assistant with the option to enable and disable cumulativity, it is impossible to perform experiments to confirm or reject this conjectural impression. I consider the universe-level system of Agda to be excellent in practice, and easy to use. Moreover, as I said, if I publish a mathematical theorem developed in Agda, I think it is fair to the reader to let them know what the universe level assignments are rather than just say that they exist. In some cases, as injectivity, the universe levels are crucial, and if we ignore them we get false claims. Best, Martin -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. [-- Attachment #1.2: Type: text/html, Size: 4066 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-05-01 6:25 ` escardo.martin@ 2019-05-01 16:55 ` Michael Shulman2019-05-02 20:46 ` escardo.martin 0 siblings, 1 reply; 11+ messages in thread From: Michael Shulman @ 2019-05-01 16:55 UTC (permalink / raw) To: Martin Hotzel Escardo;+Cc:Homotopy Type Theory On Tue, Apr 30, 2019 at 11:25 PM <escardo.martin@gmail.com> wrote: > It is nice, in practice, that universes are uniquely > determined. Insted of thousands of level constraints, we have a > unique, small, (polymorphic) level assignment. > ... > I think it is fair to the > reader to let them know what the universe level assignments are rather > than just say that they exist. In some cases, as injectivity, the > universe levels are crucial, and if we ignore them we get false > claims. Yes, this is a good point in favor of Agda-style non-cumulative Russell universes over Coq-style cumulative Russell universes. But isn't there a middle ground with Tarski universes? Suppose we have explicit lifting operators Lift : U_i -> U_{i+1}, so that as in Agda we have unique small polymorphic level assignments. But then suppose we have *definitional* equalities El(Lift(A)) == El(A). Then on the (rare) occasions when we do have to explicitly lift types from one universe to another, we would get stronger cumulativity behavior. (And I could imagine a proof assistant that implements this and sugars away the El to look like Russell universes to the user.) -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-05-01 16:55 ` Michael Shulman@ 2019-05-02 20:46 ` escardo.martin2019-05-03 11:45 ` Michael Shulman 2019-05-07 12:42 ` Nils Anders Danielsson 0 siblings, 2 replies; 11+ messages in thread From: escardo.martin @ 2019-05-02 20:46 UTC (permalink / raw) To: Homotopy Type Theory [-- Attachment #1.1: Type: text/plain, Size: 2704 bytes --] On Wednesday, 1 May 2019 17:55:50 UTC+1, Michael Shulman wrote > > > Yes, this is a good point in favor of Agda-style non-cumulative > Russell universes over Coq-style cumulative Russell universes. > > But isn't there a middle ground with Tarski universes? It would be nice to have such a middle ground, particularly because formulating universe assumptions in each single definition and theorem is unfamiliar in mathematical practice, and so "typical ambiguity" (pretending there is only one universe) is potentially a good idea for many (or even most) examples. But not in the paper I advertised in this thread. Here I post an example when Giraud did precisely that, namely to assume two arbitrary universes U and V, explaining why this is needed in that level of generality after the formulation of a theorem and its proof, given to me by Thierry Coquand: https://www.cs.bham.ac.uk/~mhe/giraud-universes.pdf (photo of one page of a book). The book is “Cohmologie non abelienne” (1971, https://www.springer.com/gp/book/9783540053071). Suppose we > have explicit lifting operators Lift : U_i -> U_{i+1}, so that as in > Agda we have unique small polymorphic level assignments. But then > suppose we have *definitional* equalities El(Lift(A)) == El(A). Then > on the (rare) occasions when we do have to explicitly lift types from > one universe to another, I can confirm from a 26k line Agda development (with comments and repeated blank lines removed in this counting of the number of lines) that not once did I need to embed a universe into a larger universe, except when I wanted to state the theorem that any universe is a retract of any larger universe if one assumes the propositional resizing axiom (any proposition in a universe U has an equivalent copy in any universe V). So I would say that such situations are *extremely rare* in practice. > we would get stronger cumulativity behavior. > (And I could imagine a proof assistant that implements this and sugars > away the El to look like Russell universes to the user.) At the moment we can choose cumulativity (Coq) or non-cumulativity (Agda), and there is no system that combines the virtues of Coq and Agda regarding universe handling. (And I fear that such a system would potentially multiply the vices of both. :-) ) M. -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. [-- Attachment #1.2: Type: text/html, Size: 3538 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-05-02 20:46 ` escardo.martin@ 2019-05-03 11:45 ` Michael Shulman2019-05-03 13:25 ` Kenji Maillard 2019-05-07 12:42 ` Nils Anders Danielsson 1 sibling, 1 reply; 11+ messages in thread From: Michael Shulman @ 2019-05-03 11:45 UTC (permalink / raw) To: Martin Hotzel Escardo;+Cc:Homotopy Type Theory I am more optimistic: I think there's a good chance we could do better than both Coq and Agda. Of course sometimes when we try new things they flop; but we can't make progress without trying new things. For one thing, I don't think we should conflate typical ambiguity with cumulativity. It just so happens that Coq has both and Agda has neither, but in principle I see no reason they have to go together. I see typical ambiguity as basically syntactic sugar or abuse of notation, analogous to the use of implicit arguments: the reader or proof assistant is tasked (if they feel like it) to go through and insert level parameters as needed, accumulating constraints on these parameters according to how the instance are used and thereby "elaborating" a typically ambiguous development to a fully precise one with (polymorphic) universe levels. Usually this will be possible, but occasionally if the writer was careless there may be a universe inconsistency. It seems to me that this could be done in both a cumulative and a non-cumulative system. True, in a non-cumulative system we get different constraints, e.g. if we ever write "A=B" then it must be that A and B live in the same universe, whereas in a cumulative system we could be looser about such constraints. But your evidence (and that of other universe-polymorphic users of Agda) suggests that such constraints arising from non-cumulativity are not in practice a problem. In fact, the unique assignment of levels in a non-cumulative system suggests that the universe inference algorithm in a hypothetical typically-ambiguous non-cumulative proof assistant would probably be *simpler*, and less error-prone, than that of Coq. So I don't see any argument here against typical ambiguity, as long as there is the *option* to be unambiguous when necessary (which again, even Coq now supports). In particular, note that when a development is formalized in a typically ambiguous proof assistant, it's not necessary for the universe levels to be written in the source code, or even thought about by the author, in order for the interested reader -- or even the author themselves! -- to learn about what the universe constraints are. They only have to compile the code, in particular running it through the universe checker/elaborator, and then inspect the resulting universe levels/constraints. I've done this in present-day Coq myself, although the proliferation of universe parameters makes the output hard to undertsand; I expect it would only be easier in a hypothetical typically-ambiguous non-cumulative proof assistant. So it seems to me that it should be possible to be "fair to the reader", as you say, and still retain (some of) the advantages of typical ambiguity. I also think there's a good chance we can retain some cumulativity without losing the benefits of non-cumulativity, by using a Tarski-style lifting coercion as I sketched in my last email. (Isn't this in the literature somewhere? I didn't think I'd made it up.) I agree that it's rare to need this, but neither is it unheard-of; so if we can make it more convenient to use with no drawback, why not? (Of course, cumulativity is also trickier to model semantically, but probably possible.) On Thu, May 2, 2019 at 1:46 PM <escardo.martin@gmail.com> wrote: > > > > On Wednesday, 1 May 2019 17:55:50 UTC+1, Michael Shulman wrote >> >> >> Yes, this is a good point in favor of Agda-style non-cumulative >> Russell universes over Coq-style cumulative Russell universes. >> >> But isn't there a middle ground with Tarski universes? > > > It would be nice to have such a middle ground, particularly because formulating universe assumptions in each single definition and theorem is unfamiliar in mathematical practice, and so "typical ambiguity" (pretending there is only one universe) is potentially a good idea for many (or even most) examples. But not in the paper I advertised in this thread. > > Here I post an example when Giraud did precisely that, namely to assume two arbitrary universes U and V, explaining why this is needed in that level of generality after the formulation of a theorem and its proof, given to me by Thierry Coquand: > > https://www.cs.bham.ac.uk/~mhe/giraud-universes.pdf (photo of one page of a book). > > The book is “Cohmologie non abelienne” (1971, https://www.springer.com/gp/book/9783540053071). > >> Suppose we >> have explicit lifting operators Lift : U_i -> U_{i+1}, so that as in >> Agda we have unique small polymorphic level assignments. But then >> suppose we have *definitional* equalities El(Lift(A)) == El(A). Then >> on the (rare) occasions when we do have to explicitly lift types from >> one universe to another, > > > I can confirm from a 26k line Agda development (with comments and repeated blank lines removed in this counting of the number of lines) that not once did I need to embed a universe into a larger universe, except when I wanted to state the theorem that any universe is a retract of any larger universe if one assumes the propositional resizing axiom (any proposition in a universe U has an equivalent copy in any universe V). So I would say that such situations are *extremely rare* in practice. > >> >> we would get stronger cumulativity behavior. >> (And I could imagine a proof assistant that implements this and sugars >> away the El to look like Russell universes to the user.) > > > At the moment we can choose cumulativity (Coq) or non-cumulativity (Agda), and there is no system that combines the virtues of Coq and Agda regarding universe handling. (And I fear that such a system would potentially multiply the vices of both. :-) ) > > M. > > -- > You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. > To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-05-03 11:45 ` Michael Shulman@ 2019-05-03 13:25 ` Kenji Maillard2019-05-03 18:23 ` Thierry Coquand 0 siblings, 1 reply; 11+ messages in thread From: Kenji Maillard @ 2019-05-03 13:25 UTC (permalink / raw) To: HomotopyTypeTheory I think the paper "A calculus of constructions with explicit subtyping" by Ali Assaf that can be found at https://hal.inria.fr/hal-01097401 is a relevant reference for coercive lifts between Tarski style universes. K. On 03/05/2019 13:45, Michael Shulman wrote: > I am more optimistic: I think there's a good chance we could do better > than both Coq and Agda. Of course sometimes when we try new things > they flop; but we can't make progress without trying new things. > > For one thing, I don't think we should conflate typical ambiguity with > cumulativity. It just so happens that Coq has both and Agda has > neither, but in principle I see no reason they have to go together. I > see typical ambiguity as basically syntactic sugar or abuse of > notation, analogous to the use of implicit arguments: the reader or > proof assistant is tasked (if they feel like it) to go through and > insert level parameters as needed, accumulating constraints on these > parameters according to how the instance are used and thereby > "elaborating" a typically ambiguous development to a fully precise one > with (polymorphic) universe levels. Usually this will be possible, > but occasionally if the writer was careless there may be a universe > inconsistency. > > It seems to me that this could be done in both a cumulative and a > non-cumulative system. True, in a non-cumulative system we get > different constraints, e.g. if we ever write "A=B" then it must be > that A and B live in the same universe, whereas in a cumulative system > we could be looser about such constraints. But your evidence (and > that of other universe-polymorphic users of Agda) suggests that such > constraints arising from non-cumulativity are not in practice a > problem. In fact, the unique assignment of levels in a non-cumulative > system suggests that the universe inference algorithm in a > hypothetical typically-ambiguous non-cumulative proof assistant would > probably be *simpler*, and less error-prone, than that of Coq. So I > don't see any argument here against typical ambiguity, as long as > there is the *option* to be unambiguous when necessary (which again, > even Coq now supports). > > In particular, note that when a development is formalized in a > typically ambiguous proof assistant, it's not necessary for the > universe levels to be written in the source code, or even thought > about by the author, in order for the interested reader -- or even the > author themselves! -- to learn about what the universe constraints > are. They only have to compile the code, in particular running it > through the universe checker/elaborator, and then inspect the > resulting universe levels/constraints. I've done this in present-day > Coq myself, although the proliferation of universe parameters makes > the output hard to undertsand; I expect it would only be easier in a > hypothetical typically-ambiguous non-cumulative proof assistant. So > it seems to me that it should be possible to be "fair to the reader", > as you say, and still retain (some of) the advantages of typical > ambiguity. > > I also think there's a good chance we can retain some cumulativity > without losing the benefits of non-cumulativity, by using a > Tarski-style lifting coercion as I sketched in my last email. (Isn't > this in the literature somewhere? I didn't think I'd made it up.) I > agree that it's rare to need this, but neither is it unheard-of; so if > we can make it more convenient to use with no drawback, why not? (Of > course, cumulativity is also trickier to model semantically, but > probably possible.) > > > > > > On Thu, May 2, 2019 at 1:46 PM <escardo.martin@gmail.com> wrote: >> >> >> On Wednesday, 1 May 2019 17:55:50 UTC+1, Michael Shulman wrote >>> >>> Yes, this is a good point in favor of Agda-style non-cumulative >>> Russell universes over Coq-style cumulative Russell universes. >>> >>> But isn't there a middle ground with Tarski universes? >> >> It would be nice to have such a middle ground, particularly because formulating universe assumptions in each single definition and theorem is unfamiliar in mathematical practice, and so "typical ambiguity" (pretending there is only one universe) is potentially a good idea for many (or even most) examples. But not in the paper I advertised in this thread. >> >> Here I post an example when Giraud did precisely that, namely to assume two arbitrary universes U and V, explaining why this is needed in that level of generality after the formulation of a theorem and its proof, given to me by Thierry Coquand: >> >> https://www.cs.bham.ac.uk/~mhe/giraud-universes.pdf (photo of one page of a book). >> >> The book is “Cohmologie non abelienne” (1971, https://www.springer.com/gp/book/9783540053071). >> >>> Suppose we >>> have explicit lifting operators Lift : U_i -> U_{i+1}, so that as in >>> Agda we have unique small polymorphic level assignments. But then >>> suppose we have *definitional* equalities El(Lift(A)) == El(A). Then >>> on the (rare) occasions when we do have to explicitly lift types from >>> one universe to another, >> >> I can confirm from a 26k line Agda development (with comments and repeated blank lines removed in this counting of the number of lines) that not once did I need to embed a universe into a larger universe, except when I wanted to state the theorem that any universe is a retract of any larger universe if one assumes the propositional resizing axiom (any proposition in a universe U has an equivalent copy in any universe V). So I would say that such situations are *extremely rare* in practice. >> >>> we would get stronger cumulativity behavior. >>> (And I could imagine a proof assistant that implements this and sugars >>> away the El to look like Russell universes to the user.) >> >> At the moment we can choose cumulativity (Coq) or non-cumulativity (Agda), and there is no system that combines the virtues of Coq and Agda regarding universe handling. (And I fear that such a system would potentially multiply the vices of both. :-) ) >> >> M. >> >> -- >> You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. >> To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-05-03 13:25 ` Kenji Maillard@ 2019-05-03 18:23 ` Thierry Coquand0 siblings, 0 replies; 11+ messages in thread From: Thierry Coquand @ 2019-05-03 18:23 UTC (permalink / raw) To: Kenji Maillard;+Cc:HomotopyTypeTheory [-- Attachment #1: Type: text/plain, Size: 7311 bytes --] Indeed! There is also http://www.math.ias.edu/Voevodsky/files/files-annotated/Dropbox/Unfinished_papers/Type_systems/UPTS_current/Universe_polymorphic_type_sytem.pdf Thierry On 3 May 2019, at 15:25, Kenji Maillard <chocobodralliam@gmail.com<mailto:chocobodralliam@gmail.com>> wrote: I think the paper "A calculus of constructions with explicit subtyping" by Ali Assaf that can be found at https://hal.inria.fr/hal-01097401 is a relevant reference for coercive lifts between Tarski style universes. K. On 03/05/2019 13:45, Michael Shulman wrote: I am more optimistic: I think there's a good chance we could do better than both Coq and Agda. Of course sometimes when we try new things they flop; but we can't make progress without trying new things. For one thing, I don't think we should conflate typical ambiguity with cumulativity. It just so happens that Coq has both and Agda has neither, but in principle I see no reason they have to go together. I see typical ambiguity as basically syntactic sugar or abuse of notation, analogous to the use of implicit arguments: the reader or proof assistant is tasked (if they feel like it) to go through and insert level parameters as needed, accumulating constraints on these parameters according to how the instance are used and thereby "elaborating" a typically ambiguous development to a fully precise one with (polymorphic) universe levels. Usually this will be possible, but occasionally if the writer was careless there may be a universe inconsistency. It seems to me that this could be done in both a cumulative and a non-cumulative system. True, in a non-cumulative system we get different constraints, e.g. if we ever write "A=B" then it must be that A and B live in the same universe, whereas in a cumulative system we could be looser about such constraints. But your evidence (and that of other universe-polymorphic users of Agda) suggests that such constraints arising from non-cumulativity are not in practice a problem. In fact, the unique assignment of levels in a non-cumulative system suggests that the universe inference algorithm in a hypothetical typically-ambiguous non-cumulative proof assistant would probably be *simpler*, and less error-prone, than that of Coq. So I don't see any argument here against typical ambiguity, as long as there is the *option* to be unambiguous when necessary (which again, even Coq now supports). In particular, note that when a development is formalized in a typically ambiguous proof assistant, it's not necessary for the universe levels to be written in the source code, or even thought about by the author, in order for the interested reader -- or even the author themselves! -- to learn about what the universe constraints are. They only have to compile the code, in particular running it through the universe checker/elaborator, and then inspect the resulting universe levels/constraints. I've done this in present-day Coq myself, although the proliferation of universe parameters makes the output hard to undertsand; I expect it would only be easier in a hypothetical typically-ambiguous non-cumulative proof assistant. So it seems to me that it should be possible to be "fair to the reader", as you say, and still retain (some of) the advantages of typical ambiguity. I also think there's a good chance we can retain some cumulativity without losing the benefits of non-cumulativity, by using a Tarski-style lifting coercion as I sketched in my last email. (Isn't this in the literature somewhere? I didn't think I'd made it up.) I agree that it's rare to need this, but neither is it unheard-of; so if we can make it more convenient to use with no drawback, why not? (Of course, cumulativity is also trickier to model semantically, but probably possible.) On Thu, May 2, 2019 at 1:46 PM <escardo.martin@gmail.com<mailto:escardo.martin@gmail.com>> wrote: On Wednesday, 1 May 2019 17:55:50 UTC+1, Michael Shulman wrote Yes, this is a good point in favor of Agda-style non-cumulative Russell universes over Coq-style cumulative Russell universes. But isn't there a middle ground with Tarski universes? It would be nice to have such a middle ground, particularly because formulating universe assumptions in each single definition and theorem is unfamiliar in mathematical practice, and so "typical ambiguity" (pretending there is only one universe) is potentially a good idea for many (or even most) examples. But not in the paper I advertised in this thread. Here I post an example when Giraud did precisely that, namely to assume two arbitrary universes U and V, explaining why this is needed in that level of generality after the formulation of a theorem and its proof, given to me by Thierry Coquand: https://www.cs.bham.ac.uk/~mhe/giraud-universes.pdf (photo of one page of a book). The book is “Cohmologie non abelienne” (1971, https://www.springer.com/gp/book/9783540053071). Suppose we have explicit lifting operators Lift : U_i -> U_{i+1}, so that as in Agda we have unique small polymorphic level assignments. But then suppose we have *definitional* equalities El(Lift(A)) == El(A). Then on the (rare) occasions when we do have to explicitly lift types from one universe to another, I can confirm from a 26k line Agda development (with comments and repeated blank lines removed in this counting of the number of lines) that not once did I need to embed a universe into a larger universe, except when I wanted to state the theorem that any universe is a retract of any larger universe if one assumes the propositional resizing axiom (any proposition in a universe U has an equivalent copy in any universe V). So I would say that such situations are *extremely rare* in practice. we would get stronger cumulativity behavior. (And I could imagine a proof assistant that implements this and sugars away the El to look like Russell universes to the user.) At the moment we can choose cumulativity (Coq) or non-cumulativity (Agda), and there is no system that combines the virtues of Coq and Agda regarding universe handling. (And I fear that such a system would potentially multiply the vices of both. :-) ) M. -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com<mailto:HomotopyTypeTheory+unsubscribe@googlegroups.com>. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com<mailto:HomotopyTypeTheory+unsubscribe@googlegroups.com>. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout. [-- Attachment #2: Type: text/html, Size: 10524 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-05-02 20:46 ` escardo.martin 2019-05-03 11:45 ` Michael Shulman@ 2019-05-07 12:42 ` Nils Anders Danielsson2019-05-07 13:51 ` Andreas Nuyts 1 sibling, 1 reply; 11+ messages in thread From: Nils Anders Danielsson @ 2019-05-07 12:42 UTC (permalink / raw) To: Homotopy Type Theory On 02/05/2019 22.46, escardo.martin@gmail.com wrote: > I can confirm from a 26k line Agda development (with comments and > repeated blank lines removed in this counting of the number of lines) > that not once did I need to embed a universe into a larger universe, > except when I wanted to state the theorem that any universe is a > retract of any larger universe if one assumes the propositional > resizing axiom (any proposition in a universe U has an equivalent copy > in any universe V). So I would say that such situations are *extremely > rare* in practice. I once wrote some code where I made use of univalence at three different levels. Does anyone know if one can prove that univalence at one level implies univalence at lower levels, without making use of cumulativity? -- /NAD -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/5fa99a80-56ed-abc5-d64f-876c192bca6a%40cse.gu.se. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 11+ messages in thread

*Re: [HoTT] Injective types2019-05-07 12:42 ` Nils Anders Danielsson@ 2019-05-07 13:51 ` Andreas Nuyts2019-05-07 22:06 ` Martín Hötzel Escardó 0 siblings, 1 reply; 11+ messages in thread From: Andreas Nuyts @ 2019-05-07 13:51 UTC (permalink / raw) To: Nils Anders Danielsson, Homotopy Type Theory Even with cumulativity, that sounds suspicious, because cumulativity of U in a bigger universe V does not obviously give you a map (A B : U) -> Id V A B -> Id U A B. The J-rule does not allow you to build this map. On 7/05/19 14:42, Nils Anders Danielsson wrote: > On 02/05/2019 22.46, escardo.martin@gmail.com wrote: >> I can confirm from a 26k line Agda development (with comments and >> repeated blank lines removed in this counting of the number of lines) >> that not once did I need to embed a universe into a larger universe, >> except when I wanted to state the theorem that any universe is a >> retract of any larger universe if one assumes the propositional >> resizing axiom (any proposition in a universe U has an equivalent copy >> in any universe V). So I would say that such situations are *extremely >> rare* in practice. > > I once wrote some code where I made use of univalence at three different > levels. Does anyone know if one can prove that univalence at one level > implies univalence at lower levels, without making use of cumulativity? > -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/49d95599-153c-d641-4ae9-a3f7c02b1cc3%40gmail.com. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 11+ messages in thread

*2019-05-07 13:51 ` Andreas NuytsRe: [HoTT] Injective types@ 2019-05-07 22:06 ` Martín Hötzel Escardó0 siblings, 0 replies; 11+ messages in thread From: Martín Hötzel Escardó @ 2019-05-07 22:06 UTC (permalink / raw) To: Homotopy Type Theory [-- Attachment #1.1: Type: text/plain, Size: 3219 bytes --] On 07/05/2019 14:51, Andreas Nuyts wrote: > Even with cumulativity, that sounds suspicious, because cumulativity of > U in a bigger universe V does not obviously give you a map > > (A B : U) -> Id V A B -> Id U A B. > > The J-rule does not allow you to build this map. Indeed. In the non-cumulative system, with V bigger than U, you have a map f : U → V with f A ≃ A. For example, if C is any contractible type in V, you can take f A := A × C. If both U and V are univalent, then any map f : U → V with f A ≃ A is an embedding for all A : U, meaning that the canonical map Id U A B → Id V (f A) (f B) is equivalence (or equivalently that the fibers of f are propositions). I checked this in Agda. The reformulation of your statement above with an explicit inclusion f : U → V, namely (A B : U) -> Id V (f A) (f B) -> Id U A B, which amounts to the left-cancellability of f, is a consequence of f being an embedding, and in general strictly weaker than f being an embedding. But I don't see how to prove even the left-cancellability of f without assuming univalence in the smaller universe U. Assuming that V is univalent, Id V (f A) (f B) gives f A ≃ f B, and then composing with the equivalences A ≃ f A and f B ≃ B we get A ≃ B. If U were univalent we would get Id U A B and hence f would be left-cancellable. But, as I said, the univalence of U and V gives more, namely that f is an embedding. And if V is univalent and f is an embedding, then U is univalent, for A ≃ B is equivalent to f A ≃ f B and hence to Id V (f A) (f B), and hence to Id U A B, using the embedding property in the last step. So if V is univalent, then the smaller universe U is univalent iff every map f : U → V with f A ≃ A for all A : U is an embedding (iff some given such map is an embedding). Martin > > On 7/05/19 14:42, Nils Anders Danielsson wrote: >> On 02/05/2019 22.46, escardo.martin@gmail.com wrote: >>> I can confirm from a 26k line Agda development (with comments and >>> repeated blank lines removed in this counting of the number of lines) >>> that not once did I need to embed a universe into a larger universe, >>> except when I wanted to state the theorem that any universe is a >>> retract of any larger universe if one assumes the propositional >>> resizing axiom (any proposition in a universe U has an equivalent copy >>> in any universe V). So I would say that such situations are *extremely >>> rare* in practice. >> >> I once wrote some code where I made use of univalence at three different >> levels. Does anyone know if one can prove that univalence at one level >> implies univalence at lower levels, without making use of cumulativity? -- You received this message because you are subscribed to the Google Groups "Homotopy Type Theory" group. To unsubscribe from this group and stop receiving emails from it, send an email to HomotopyTypeTheory+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/6bae18da-1ecc-4633-a565-9df222140d87%40googlegroups.com. For more options, visit https://groups.google.com/d/optout. [-- Attachment #1.2: Type: text/html, Size: 4371 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-05-07 22:06 UTC | newest]Thread overview:11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-04-30 23:05 [HoTT] Injective types escardo.martin 2019-05-01 2:50 ` Michael Shulman 2019-05-01 6:25 ` escardo.martin 2019-05-01 16:55 ` Michael Shulman 2019-05-02 20:46 ` escardo.martin 2019-05-03 11:45 ` Michael Shulman 2019-05-03 13:25 ` Kenji Maillard 2019-05-03 18:23 ` Thierry Coquand 2019-05-07 12:42 ` Nils Anders Danielsson 2019-05-07 13:51 ` Andreas Nuyts 2019-05-07 22:06 ` Martín Hötzel Escardó

This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).