Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
From: Richard Williamson <rwilli...@gmail.com>
To: Thorsten Altenkirch <Thorsten....@nottingham.ac.uk>
Cc: Andrej Bauer <andrej...@andrej.com>,
	Alexander Kurz <axh...@gmail.com>,
	"homotopyt...@googlegroups.com" <homotopyt...@googlegroups.com>
Subject: Re: [HoTT] Re: Where is the problem with initiality?
Date: Wed, 6 Jun 2018 21:25:14 +0200	[thread overview]
Message-ID: <20180606192514.GA818@richard.richard> (raw)
In-Reply-To: <D73DC276.AC2AA%psztxa@exmail.nottingham.ac.uk>

> Actually I am teaching Python (by choice)

Nice!

> And second the untyped version is only the first step before I
> understand what I am doing at which point I am able to make the
> concepts involved more precise.

Interesting! If I understood you correctly, I would say that I
program in Python in the opposite way: I always have the types in
my mind, and these guide the code, even though I do not write
them down explicitly. In other words, I think that I program in
the way as you have in mind in the following sentence, but there
are benefits (flexibility, development time, etc) to me in
writing the code in Python rather than in a statically typed
language.

> In particular in a mathematical development I would expect that
> the objects involved are understood and hence can be given a
> specific type.

I like the following analogy...

> Actually, Python is dynamically typed, which is why I always compare it to
> set theory. Python has predicates to test wether an object belongs to an
> arbitrary type. This corresponds to the element relation in set theory. In
> contrast, strongly typed languages don't have predicates like this because
> you know statically what the type of an object is. In the same way in Type
> Theory typing is static hence it doesn't make sense to have an element
> relation.

...and the following is also true...

> I would think that once I understand the concepts involved in my
> construction I should be able to assign static types to them. That is
> certainly the case in programming but even more so for mathematical
> constructions.

...but I disagree with the implied conclusion that one will
always wish to write down those static types.

Suppose I wish to formalise a quick argument involving words in a
free group for instance. Does it really matter to me whether I am
actually working in a free group? Maybe any group would do for my
present purposes. Indeed, maybe any monoid would do. It is going
to save me a lot of time, and give more flexibility with regard
to how I incorporate my argument in a larger argument later, if I
can just jump in and start manipulating those words without
worrying yet about what type they have, even if I have a
particular type, or more than one type, in mind.

One might even argue that such a view is philosophically closer
to much mathematical practise, especially that influenced by
category theory: we are typically concerned with the properties
of an object (what we can do with it), not exactly with what it
is. To misappropriate the classic slogan: if it quacks like a
free group, it might as well be a free group.

  reply	other threads:[~2018-06-06 19:25 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-22  5:46 Michael Shulman
2018-05-22 16:47 ` Ambrus Kaposi
2018-05-23 16:26 ` [HoTT] " Thorsten Altenkirch
2018-05-24  5:52   ` Michael Shulman
2018-05-24  8:11     ` Thorsten Altenkirch
2018-05-24  9:53       ` Ambrus Kaposi
2018-05-24 17:26         ` Michael Shulman
2018-05-26  9:21           ` Thomas Streicher
2018-05-26 11:47             ` Michael Shulman
2018-05-26 16:47               ` stre...
2018-05-27  5:14                 ` Bas Spitters
2018-05-28 22:39 ` Michael Shulman
2018-05-29  9:15   ` [HoTT] " Thorsten Altenkirch
2018-05-29 15:15     ` Michael Shulman
2018-05-30  9:33       ` Thomas Streicher
2018-05-30  9:37         ` Thorsten Altenkirch
2018-05-30 10:10           ` Thomas Streicher
2018-05-30 12:08             ` Thorsten Altenkirch
2018-05-30 13:40               ` Thomas Streicher
2018-05-30 14:38                 ` Thorsten Altenkirch
2018-05-30 10:53           ` Alexander Kurz
2018-05-30 12:05             ` Thorsten Altenkirch
2018-05-30 19:07               ` Michael Shulman
2018-05-31 10:06                 ` Thorsten Altenkirch
2018-05-31 11:05                   ` Michael Shulman
2018-05-31 19:02                     ` Alexander Kurz
2018-06-01  9:55                       ` Martin Escardo
2018-06-01 17:07                       ` Martín Hötzel Escardó
2018-06-01 17:43                         ` Eric Finster
2018-06-01 19:55                           ` Martín Hötzel Escardó
2018-06-01 20:59                             ` András Kovács
2018-06-01 21:06                               ` Martín Hötzel Escardó
2018-06-01 21:23                                 ` Michael Shulman
2018-06-01 21:53                                   ` Eric Finster
2018-06-01 22:09                                     ` Michael Shulman
2018-06-02 15:06                                       ` Eric Finster
2018-06-05 20:04                                         ` Michael Shulman
2018-06-02  5:13                                 ` Thomas Streicher
2018-06-01 21:52                               ` Jasper Hugunin
2018-06-01 22:00                                 ` Eric Finster
2018-06-01 21:27                           ` Matt Oliveri
2018-06-02  5:21                             ` Ambrus Kaposi
2018-06-02  6:01                               ` Thomas Streicher
2018-06-02 14:35                           ` Thorsten Altenkirch
2018-05-30 13:30             ` Jon Sterling
2018-06-05  7:52             ` Andrej Bauer
2018-06-05  8:37               ` David Roberts
2018-06-05  9:46                 ` Gabriel Scherer
2018-06-05 22:19                 ` Martín Hötzel Escardó
2018-06-05 22:54                   ` Martín Hötzel Escardó
2018-06-05 22:12               ` Richard Williamson
2018-06-06 15:05                 ` Thorsten Altenkirch
2018-06-06 19:25                   ` Richard Williamson [this message]
2018-05-29 14:00   ` Jon Sterling
2018-05-30 22:35     ` Michael Shulman
2018-05-31 10:48       ` Martín Hötzel Escardó
2018-05-31 11:09         ` Michael Shulman

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=20180606192514.GA818@richard.richard \
    --to="rwilli..."@gmail.com \
    --cc="Thorsten...."@nottingham.ac.uk \
    --cc="andrej..."@andrej.com \
    --cc="axh..."@gmail.com \
    --cc="homotopyt..."@googlegroups.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).