Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
From: Kevin Buzzard <kevin.m.buzzard@gmail.com>
To: Noah Snyder <nsnyder@gmail.com>
Cc: Juan Ospina <jospina65@gmail.com>,
	 Homotopy Type Theory <HomotopyTypeTheory@googlegroups.com>
Subject: Re: [HoTT] doing "all of pure mathematics" in type theory
Date: Sat, 25 May 2019 16:36:26 +0100	[thread overview]
Message-ID: <CAH52Xb3k4fmuPfpDSO=Jmb3k19v3m6MjOLweQb_u8n0icdt0rQ@mail.gmail.com> (raw)
In-Reply-To: <CAO0tDg4dyjZHueTPQEYKQaojSw6SDKNUC8y49JHMoR9oTQOmMw@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 9733 bytes --]

Hi Noah. Thank you for pointing out the category error. It seems to me that
sometimes when I say "HoTT" I should be saying, for example, "UniMath".

Tactics in Lean are absolutely crucial for library development. Coq has
some really powerful tactics, right? UniMath can use those tactics,
presumably?

I understand that UniMath, as implemented in Coq, takes Coq and adds some
"rules" of the form "you can't use this functionality" and also adds at
least one new axiom (univalence).

On Sat, 25 May 2019 at 15:50, Noah Snyder <nsnyder@gmail.com> wrote:

> I’d also imagine that a “practical” implementation would likely have some
> kind of “two-level” type theory where you can use types that behave
> classically when that’s better and HoTT types when that’s better.
>

But plain Coq has such types, right?

OK so this has all been extremely informative. There are other provers
being developed which will implement some flavour of HoTT more
"faithfully", and it might be easier to develop maths libraries in such
provers.

For example, if G and H are isomorphic groups and you want to translate a
> theorem or construction across the isomorphism.  In ordinary type theory
> this is going to involve annoying book-keeping which it seems like you’d
> have to do separately for each kind of mathematical object.
>

Yes. This is a pain point in Lean. It's a particularly nasty one too, as
far as mathematicians are concerned, because when you tell a mathematician
"well this ring R is Cohen-Macauley, and here's a ring S which is
isomorphic to R, but we cannot immediately deduce in Lean that S is
Cohen-Macauley" then they begin to question what kind of crazy system you
are using which cannot deduce this immediately. As an interesting
experiment, find your favourite mathematician, preferably one who does not
know what a Cohen-Macauley ring is, and ask them whether they think it will
be true that if R and S are isomorphic rings and R is Cohen-Macauley then S
is too. They will be very confident that this is true, even if they do not
know the definition; standard mathematical definitions are
isomorphism-invariant. This is part of our code of conduct, in fact.

However in Lean I believe that the current plan is to try and make a tactic
which will resolve this issue. This has not yet been done, and as far as I
can see this is a place where UniMath is a more natural fit for "the way
mathematicians think". However now I've looked over what has currently been
formalised in UniMath I am wondering whether there are pain points for it,
which Lean manages to get over more easily. That is somehow where I'm
coming from.


>  For example, say you have a theorem about bimodules over semisimple rings
> whose proof starts “wlog, by Artin-Wedderburn, we can assume both algebras
> are multimatrix algebras over division rings.”  Is that step something
> you’d be able to deal with easily in Lean?  If not, that’s somewhere that
> down the line HoTT might make things more practical.
>

This is a great example! To be honest I am slightly confused about why we
are not running into this sort of thing already. As far as I can see this
would be a great test case for the (still very much under development)
transport tactic. Maybe we don't have enough classification theorems. I
think that our hope in general is that this sort of issue can be solved
with automation.

Kevin



> But mostly I just want to say you’re making a category error in your
> question.  HoTT is an abstract type theory, not a proof assistant.
>
> Best,
>
> Noah
>
> On Sat, May 25, 2019 at 9:34 AM Juan Ospina <jospina65@gmail.com> wrote:
>
>> On page 117 of https://arxiv.org/pdf/1808.10690.pdf appears the
>> "additivity axiom".  Please let me know if the following formulation of the
>> such axiom is correct:
>>
>> [image: additivity.jpg]
>>
>>
>>
>> On Saturday, May 25, 2019 at 5:22:41 AM UTC-5, awodey wrote:
>>>
>>> A useful example for you might be Floris van Doorn’s formalization of
>>> the Atiyah-Hirzebruch and Serre spectral sequences for cohomology
>>> in HoTT using Lean:
>>>
>>>  https://arxiv.org/abs/1808.10690
>>>
>>> Regards,
>>>
>>> Steve
>>>
>>> > On May 25, 2019, at 12:12 PM, Kevin Buzzard <kevin....@gmail.com>
>>> wrote:
>>> >
>>> > Hi from a Lean user.
>>> >
>>> > As many people here will know, Tom Hales' formal abstracts project
>>> https://formalabstracts.github.io/ wants to formalise many of the
>>> statements of modern pure mathematics in Lean. One could ask more generally
>>> about a project of formalising many of the statements of modern pure
>>> mathematics in an arbitrary system, such as HoTT. I know enough about the
>>> formalisation process to know that whatever system one chooses, there will
>>> be pain points, because some mathematical ideas fit more readily into some
>>> foundational systems than others.
>>> >
>>> > I have seen enough of Lean to become convinced that the pain points
>>> would be surmountable in Lean. I have seen enough of Isabelle/HOL to become
>>> skeptical about the idea that it would be suitable for all of modern pure
>>> mathematics, although it is clearly suitable for some of it; however it
>>> seems that simple type theory struggles to handle things like tensor
>>> products of sheaves of modules on a scheme, because sheaves are dependent
>>> types and it seems that one cannot use Isabelle's typeclass system to
>>> handle the rings showing up in a sheaf of rings.
>>> >
>>> > I have very little experience with HoTT. I have heard that the fact
>>> that "all constructions must be isomorphism-invariant" is both a blessing
>>> and a curse. However I would like to know more details. I am speaking at
>>> the Big Proof conference in Edinburgh this coming Wednesday on the pain
>>> points involved with formalising mathematical objects in dependent type
>>> theory and during the preparation of my talk I began to wonder what the
>>> analogous picture was with HoTT.
>>> >
>>> > Everyone will have a different interpretation of "modern pure
>>> mathematics" so to fix our ideas, let me say that for the purposes of this
>>> discussion, "modern pure mathematics" means the statements of the theorems
>>> publishsed by the Annals of Mathematics over the last few years, so for
>>> example I am talking about formalising statements of theorems involving
>>> L-functions of abelian varieties over number fields, Hodge theory,
>>> cohomology of algebraic varieties, Hecke algebras of symmetric groups,
>>> Ricci flow and the like; one can see titles and more at
>>> http://annals.math.princeton.edu/2019/189-3 . Classical logic and the
>>> axiom of choice are absolutely essential -- I am only interested in the
>>> hard-core "classical mathematician" stance of the way mathematics works,
>>> and what it is.
>>> >
>>> > If this is not the right forum for this question, I would be happily
>>> directed to somewhere more suitable. After spending 10 minutes failing to
>>> get onto ##hott on freenode ("you need to be identified with services") I
>>> decided it was easier just to ask here. If people want to chat directly I
>>> am usually around at https://leanprover.zulipchat.com/ (registration
>>> required, full names are usually used, I'll start a HoTT thread in
>>> #mathematics).
>>> >
>>> > Kevin Buzzard
>>> >
>>> > --
>>> > 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/a57315f6-cbd6-41a5-a3b7-b585e33375d4%40googlegroups.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.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/HomotopyTypeTheory/18681ec4-dc8d-42eb-b42b-b9a9f639d89e%40googlegroups.com
>> <https://groups.google.com/d/msgid/HomotopyTypeTheory/18681ec4-dc8d-42eb-b42b-b9a9f639d89e%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> 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.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/HomotopyTypeTheory/CAO0tDg4dyjZHueTPQEYKQaojSw6SDKNUC8y49JHMoR9oTQOmMw%40mail.gmail.com
> <https://groups.google.com/d/msgid/HomotopyTypeTheory/CAO0tDg4dyjZHueTPQEYKQaojSw6SDKNUC8y49JHMoR9oTQOmMw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> 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.
To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAH52Xb3k4fmuPfpDSO%3DJmb3k19v3m6MjOLweQb_u8n0icdt0rQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

[-- Attachment #1.2: Type: text/html, Size: 12940 bytes --]

[-- Attachment #2: additivity.jpg --]
[-- Type: image/jpeg, Size: 18737 bytes --]

  reply	other threads:[~2019-05-25 15:36 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-25 10:12 Kevin Buzzard
2019-05-25 10:22 ` Steve Awodey
2019-05-25 12:23   ` Kevin Buzzard
     [not found]   ` <B7D67BBA-5E0B-4438-908D-4EF316C8C1F1@chalmers.se>
     [not found]     ` <CAH52Xb1Y=Xq=012v_-KSDUuwgnKpEp5qjrxgtUJf+qc_0RWJUg@mail.gmail.com>
2019-05-25 13:13       ` Fwd: " Kevin Buzzard
2019-05-25 13:34   ` Juan Ospina
2019-05-25 14:50     ` Noah Snyder
2019-05-25 15:36       ` Kevin Buzzard [this message]
2019-05-25 16:41         ` Noah Snyder
2019-05-26  5:50           ` Bas Spitters
2019-05-26 11:41             ` Kevin Buzzard
2019-05-26 12:09               ` Bas Spitters
2019-05-26 17:00                 ` Kevin Buzzard
2019-05-27  2:33                   ` Daniel R. Grayson
2019-06-02 16:30                   ` Bas Spitters
2019-06-02 17:55                     ` Kevin Buzzard
2019-06-02 20:46                       ` Nicola Gambino
2019-06-02 20:59                         ` Valery Isaev
2019-06-04 20:32                       ` Michael Shulman
2019-06-04 20:58                         ` Kevin Buzzard
2019-06-06 16:30                         ` Matt Oliveri
2019-05-27 13:09                 ` Assia Mahboubi
2019-05-28  9:50                   ` Michael Shulman
2019-05-28 10:13                     ` Nils Anders Danielsson
2019-05-28 10:22                       ` Michael Shulman
2019-05-29 19:04                         ` Martín Hötzel Escardó
2019-05-30 17:14                           ` Michael Shulman
2019-06-02 17:49                             ` Kevin Buzzard
2019-06-04 20:50                               ` Martín Hötzel Escardó
2019-06-05 17:11                                 ` Thorsten Altenkirch
2019-05-28 15:20                     ` Joyal, André
2019-05-27  8:41           ` Nils Anders Danielsson

Reply instructions:

You may reply publicly 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='CAH52Xb3k4fmuPfpDSO=Jmb3k19v3m6MjOLweQb_u8n0icdt0rQ@mail.gmail.com' \
    --to=kevin.m.buzzard@gmail.com \
    --cc=HomotopyTypeTheory@googlegroups.com \
    --cc=jospina65@gmail.com \
    --cc=nsnyder@gmail.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).