From: Michael Shulman <email@example.com> To: Kevin Buzzard <firstname.lastname@example.org> Cc: David Roberts <email@example.com>, Bas Spitters <firstname.lastname@example.org>, homotopytypetheory <email@example.com>, Nicolas Alexander Schmidt <firstname.lastname@example.org> Subject: Re: [HoTT] Why did Voevodsky find existing proof assistants to be 'impractical'? Date: Mon, 4 Nov 2019 13:10:55 -0800 Message-ID: <CAOvivQy4zN1wc=w5-+eu2hBwtbUC-gtzjuYabiZWdb4yKZ7NUw@mail.gmail.com> (raw) In-Reply-To: <CAH52Xb3s0+vweUaSQBMBNLa5mRc9F1jrsg2sSoFmcE_4=dAt1w@mail.gmail.com> Valery has a good point that transporting properties along an equivalence is definitely somewhere that Book HoTT could get you some mileage. But I suspect that a more significant advantage would come from using a cubical type theory in which transport computes (as long as the equivalence was defined constructively -- a good reason to care about being constructive even putting aside philosophy and internal languages). I'd be curious to know what those 20 diagrams were. FWIW, I think that nowadays Coq *is* designed for Book HoTT, certainly more than Lean 3 is. My understanding is that Lean 3 is actually technically incompatible with univalence, whereas over the past decade the Coq developers have incorporated various new features requested by the HoTT community to improve compatibility, and the HoTT Coq library is I believe one of the test suites that new Coq versions are tested against to ensure that breakage is dealt with on one side or another. I'm not sure how a proof assistant could be more designed for Book HoTT than modern Coq and Agda are. (Arend is not designed for Book HoTT, but for a flavor of HoTT that's partway to a cubical theory, with an interval type representing paths.) On Mon, Nov 4, 2019 at 10:43 AM Kevin Buzzard <email@example.com> wrote: > > > > On Sun, 3 Nov 2019 at 19:13, Michael Shulman <firstname.lastname@example.org> wrote: >> >> But does univalence a la Book HoTT *actually* make it easier to reason >> about such things? > > > I think this is a really interesting and important question. > > I guess David was referring to my scheme fail of 2018. I wanted to formalise the notion of a scheme a la Grothendieck and prove that if R was a commutative ring then Spec(R) was a scheme [I know it's a definition, but many mathematicians do seem to call it a theorem, in our ignorance]. I showed an undergraduate a specific lemma in ring theory (https://stacks.math.columbia.edu/tag/00EJ) and said "that's what I want" and they formalised it for me. And then it turned out that I wanted something else: I didn't have R_f, I had something "canonically isomorphic" to it, a phrase we mathematicians like to pull out when the going gets tough and we can't be bothered to check that any more diagrams commute. By this point it was too late to turn back, and so I had to prove that 20 diagrams commuted and it wasn't much fun. I then got an MSc student to redo everything using universal properties more carefully in Lean and it worked like a dream https://github.com/ramonfmir/lean-scheme. A lot of people said to me at the time "you wouldn't have had this problem if you'd been using HoTT instead of DTT" and my response to this is still the (intentionally) provocative "go ahead and define schemes and prove that Spec(R) is a scheme in some HoTT system, and show me how it's better; note that we did have a problem, but we solved it in DTT". I would be particularly interested to see schemes done in Arend, because it always felt funny to me using UniMath in Coq (and similarly it feels funny to me to do HoTT in Lean 3 -- in both cases it could be argued that it's using a system to do something it wasn't designed to do). I think it's easy to theorise about this sort of thing but until it happens in practice in one or more of the HoTT systems I don't think we will understand the issue properly (or, more precisely, I don't think I will understand the issue properly). I have had extensive discussions with Martin Escardo about HoTT and he has certainly given me hope, but on the Lean chat I think people assumed schemes would be easy in Lean (I certainly did) and then we ran into this unexpected problem (which univalence is probably designed to solve), so the question is whether a univalent type theory runs into a different unexpected problem -- you push the carpet down somewhere and it pops up somewhere else. > > I know this is a HoTT list but the challenge is also open to the HOL people like the Isabelle/HOL experts. In contrast to HoTT theories, which I think should handle schemes fine, I think that simple type theory will have tremendous problems defining, for example, tensor products of sheaves of modules on a scheme, because these are dependent types. On the other hand my recent ArXiv paper with Commelin and Massot https://arxiv.org/abs/1910.12320 goes much further and formalises perfectoid spaces in dependent type theory. I would like the people on this list to see this as a challenge. I think that this century will see the rise of the theorem prover in mathematics and I am not naive enough to think that the one I currently use now is the one which is guaranteed to be the success story. Voevodsky was convinced that univalence was the right way to do modern mathematics but I'm doing it just fine in dependent type theory and now he's gone I really want to find someone who will take up the challenge and do some scheme theory in HoTT, but convincing professional mathematicians to get interested in this area is very difficult, and I speak as someone who's been trying to do it for two years now [I recommend you try the undergraduates instead, anyone who is interested in training people up -- plenty of undergraduates are capable of reading the definition of a scheme, if they know what rings and topological spaces are] > > To get back to the original question, my understanding was that Voevodsky had done a bunch of scheme theory and it had got him a Fields medal and it was this mathematics which he was interested in at the time. He wanted to formalise his big theorem, just like Hales did. Unfortunately he was historically earlier, and his mathematics involved far more conceptual objects than spheres in 3-space, so it was a much taller order. All the evidence is there to suggest that over the next 15 or so years his interests changed. The clearest evidence, in my mind, is that there is no definition of a scheme in UniMath. Moreover his story in his Cambridge talk https://www.newton.ac.uk/seminar/20170710113012301 about asking Suslin to reprove one of his results without using the axiom of choice (46 minutes in) kind of shocked me -- Suslin does not care about mathematics without choice, and the vast majority of mathematicians employed in mathematics departments feel the same, although I'm well aware that constructivism is taken more seriously on this list. I think it is interesting that Voevodsky failed to prove a constructive version of his theorem, because I think that some mathematics is better off not being constructive. It is exactly the interaction between constructivism and univalence which I do not understand well, and I think that a very good way to investigate it would be to do some highly non-constructive modern mathematics in a univalent type theory. > > Kevin > > PS many thanks to the people who have emailed me in the past telling me about how in the past I have used "HoTT", "univalence", "UniMath", interchangeably and incorrectly. Hopefully I am getting better but I am still keen to hear anything which I'm saying which is imprecise or incorrect. > > >> >> It allows us to write "=" rather than "\cong", but >> to construct such an equality we have to construct an isomorphism >> first, and to *use* such an equality we have to transport along it, >> and then we get lots of univalence-redexes that we have to manually >> reduce away. My experience formalizing math in HoTT/Coq is that it's >> much easier if you *avoid* turning equivalences into equalities except >> when absolutely necessary. (I don't have any experience formalizing >> math in a cubical proof assistant, but in that case at least you >> wouldn't have to manually reduce the univalence-redexes -- although it >> seems to me you'd still have to construct the isomorphism before you >> can apply univalence to make it an equality.) >> >> On Sun, Nov 3, 2019 at 3:57 AM David Roberts <email@example.com> wrote: >> > >> > Forget even higher category theory. Kevin Buzzard now goes around telling the story of how even formally proving (using Lean) things in rather elementary commutative algebra from EGA that are stated as equalities was not obvious: the equality is really an isomorphism arising from a universal property. Forget trying to do anything motivic, when algebra is full of such equalities. This is not a problem with univalence, of course. >> > >> > David >> > >> > On Sun, 3 Nov 2019, 10:08 PM Bas Spitters <firstname.lastname@example.org> wrote: >> >> >> >> There's also VV homotopy lambda calculus, which he later abandoned for MLTT: >> >> https://www.math.ias.edu/~vladimir/Site3/Univalent_Foundations_files/Hlambda_short_current.pdf >> >> >> >> On Sun, Oct 27, 2019 at 6:22 PM Bas Spitters <email@example.com> wrote: >> >>> >> >>> I believe it refers to his 2-theories: >> >>> https://www.ias.edu/ideas/2014/voevodsky-origins >> >>> >> >>> On Sun, Oct 27, 2019 at 3:41 PM Nicolas Alexander Schmidt <firstname.lastname@example.org> wrote: >> >>>> >> >>>> In [this](https://www.youtube.com/watch?v=zw6NcwME7yI&t=1680) 2014 talk >> >>>> at IAS, Voevodsky talks about the history of his project of "univalent >> >>>> mathematics" and his motivation for starting it. Namely, he mentions >> >>>> that he found existing proof assistants at that time (in 2000) to be >> >>>> impractical for the kinds of mathematics he was interested in. >> >>>> >> >>>> Unfortunately, he doesn't go into details of what mathematics he was >> >>>> exactly interested in (I'm guessing something to do with homotopy >> >>>> theory) or why exactly existing proof assistants weren't practical for >> >>>> formalizing them. Judging by the things he mentions in his talk, it >> >>>> seems that (roughly) his rejection of those proof assistants was based >> >>>> on the view that predicate logic + ZFC is not expressive enough. In >> >>>> other words, there is too much lossy encoding needed in order to >> >>>> translate from the platonic world of mathematical ideas to this formal >> >>>> language. >> >>>> >> >>>> Comparing the situation to computer programming languages, one might say >> >>>> that predicate logic is like Assembly in that even though everything can >> >>>> be encoded in that language, it is not expressive enough to directly >> >>>> talk about higher level concepts, diminishing its practical value for >> >>>> reasoning about mathematics. In particular, those systems are not >> >>>> adequate for *interactive* development of *new* mathematics (as opposed >> >>>> to formalization of existing theories). >> >>>> >> >>>> Perhaps I am just misinterpreting what Voevodsky said. In this case, I >> >>>> hope someone can correct me. However even if this wasn't *his* view, to >> >>>> me it seems to be a view held implicitly in the HoTT community. In any >> >>>> case, it's a view that one might reasonably hold. >> >>>> >> >>>> However I wonder how reasonable that view actually is, i.e. whether e.g. >> >>>> Mizar really is that much more impractical than HoTT-Coq or Agda, given >> >>>> that people have been happily formalizing mathematics in it for 46 years >> >>>> now. And, even though by browsing the contents of "Formalized >> >>>> Mathematics" one can get the impression that the work consists mostly of >> >>>> formalizing early 20th century mathematics, neither the UniMath nor the >> >>>> HoTT library for example contain a proof of Fubini's theorem. >> >>>> >> >>>> So, to put this into one concrete question, how (if at all) is HoTT-Coq >> >>>> more practical than Mizar for the purpose of formalizing mathematics, >> >>>> outside the specific realm of synthetic homotopy theory? >> >>>> >> >>>> >> >>>> -- >> >>>> >> >>>> Nicolas >> >>>> >> >>>> >> >>>> -- >> >>>> 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 HomotopyTypeTheoryemail@example.com. >> >>>> To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/e491d38b-b50a-6172-dca9-40d45fe1b6d2%40fromzerotoinfinity.xyz. >> >> >> >> -- >> >> 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 HomotopyTypeTheoryfirstname.lastname@example.org. >> >> To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAOoPQuRQPMkCFKYtAbB%2BpNK90XtFk%2BaVT_aY59U_-9t17sBzeA%40mail.gmail.com. >> > >> > -- >> > 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 HomotopyTypeTheoryemail@example.com. >> > To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAFL%2BZM_%3D%3DiLS16Vy7sGiEqNkCxOMYL4j%2BZFqKv5uJ-ivkuemEg%40mail.gmail.com. >> >> -- >> 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 HomotopyTypeTheoryfirstname.lastname@example.org. >> To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAOvivQz47kSm9WbKDmUsndrpAJMkNwiWmVABqOFrVqyTOvSAbw%40mail.gmail.com. > > -- > 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 HomotopyTypeTheoryemail@example.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAH52Xb3s0%2BvweUaSQBMBNLa5mRc9F1jrsg2sSoFmcE_4%3DdAt1w%40mail.gmail.com. -- 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 HomotopyTypeTheoryfirstname.lastname@example.org. To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAOvivQy4zN1wc%3Dw5-%2Beu2hBwtbUC-gtzjuYabiZWdb4yKZ7NUw%40mail.gmail.com.
next prev parent reply index Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-27 14:41 Nicolas Alexander Schmidt 2019-10-27 17:22 ` Bas Spitters 2019-11-03 11:38 ` Bas Spitters 2019-11-03 11:52 ` David Roberts 2019-11-03 19:13 ` Michael Shulman 2019-11-03 19:45 ` Valery Isaev 2019-11-03 22:23 ` Martín Hötzel Escardó 2019-11-04 23:20 ` Nicolas Alexander Schmidt 2019-11-04 18:42 ` Kevin Buzzard 2019-11-04 21:10 ` Michael Shulman [this message] 2019-11-04 23:26 ` David Roberts 2019-11-05 15:43 ` Daniel R. Grayson 2019-11-05 20:29 ` Yuhao Huang 2019-11-06 23:59 ` Daniel R. Grayson 2019-11-05 23:14 ` Martín Hötzel Escardó 2019-11-06 0:06 ` Stefan Monnier 2019-11-11 18:26 ` Licata, Dan 2019-11-03 7:29 ` Michael Shulman
Reply instructions: You may reply publically to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAOvivQy4zN1wc=w5-+eu2hBwtbUC-gtzjuYabiZWdb4yKZ7NUw@mail.gmail.com' \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Discussion of Homotopy Type Theory and Univalent Foundations Archives are clonable: git clone --mirror http://inbox.vuxu.org/hott Example config snippet for mirrors Newsgroup available over NNTP: nntp://inbox.vuxu.org/vuxu.archive.hott AGPL code for this site: git clone https://public-inbox.org/public-inbox.git