From: Matt Oliveri <atmacen@gmail.com>
To: Homotopy Type Theory <HomotopyTypeTheory@googlegroups.com>
Subject: Re: [HoTT] Re: Why do we need judgmental equality?
Date: Tue, 12 Feb 2019 03:03:44 -0800 (PST) [thread overview]
Message-ID: <8ab48f34-edd7-4ed3-bc35-526bd8d10562@googlegroups.com> (raw)
In-Reply-To: <2CD19190-1CC2-4B74-AAEA-C0DCAB6B1019@exmail.nottingham.ac.uk>
[-- Attachment #1.1: Type: text/plain, Size: 2964 bytes --]
Let's say that "objects" are untyped, and "elements" are typed, by
definition. These are semantic entities. Nuprl's (closed) terms are untyped
in that you are allowed to think of them as objects. You can also think of
them as elements. This is not the same. I'd like to distance Nuprl, based
on PERs, from set theory. In set theory, objects are given their final
meaning by the universe, and sets are types only in the most boring
possible sense that you gather up objects and call them elements. In Nuprl,
terms obtain their computational meaning as objects, but their mathematical
meaning as elements. Interpreted as PERs, Nuprl's types let you ask whether
two objects implement the same element. Equality of elements is not
equality of objects, and the way you think about objects and elements is
different. A variable has a declared type, and it denotes an arbitrary
element of that type. It is meaningless to think of it as an object (unless
the declared type is a subtype of the type of objects).
You are right that you don't need to explain elements in terms of objects.
That doesn't necessarily make it a bad idea.
Each PER indicates how its elements are implemented by objects. There's no
requirement that an object will have a unique type. Each type can be
thought of as an abstract view of certain objects.
Constructions in Nuprl are heavily based on types, as in any strong type
system. You wouldn't bother with a strong type system if you weren't going
to do that. You can construct elements using the usual sorts of rules.
Because Nuprl also has objects, you also have the option of constructing
objects and then proving they implement elements of one or more types. If
you've never felt at all constrained by a strong type system, great; you
don't have to do that. But for many people, the intrinsically untyped
approach is sometimes helpful. An element is an element; it doesn't matter
whether it's an element by construction, or a verified object. I see this
as a tremendous benefit for strongly typed programming.
On Monday, February 11, 2019 at 1:17:25 PM UTC-5, Thorsten Altenkirch wrote:
>
> I have got something else against NuPRL. It explains Type Theory via
> untyped objects which are then typed. In my view there is no reason why we
> need to explain typed things via untyped objects. When we talk about
> mathematical objects we think about typed entities, and the formalism of
> type theory should reflect this. It is not that we find an untyped object
> on the street and then try to find out which type it has. We are thinking
> of a type first and then we construct an element.
>
> Thorsten
>
>
--
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: 3366 bytes --]
next prev parent reply other threads:[~2019-02-12 11:03 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-30 11:54 [HoTT] " Felix Rech
2019-02-05 23:00 ` [HoTT] " Matt Oliveri
2019-02-06 4:13 ` Anders Mörtberg
2019-02-09 11:55 ` Felix Rech
2019-02-16 15:59 ` Thorsten Altenkirch
2019-02-17 1:25 ` Michael Shulman
2019-02-17 7:56 ` Thorsten Altenkirch
2019-02-17 9:14 ` Matt Oliveri
2019-02-17 9:18 ` Michael Shulman
2019-02-17 10:52 ` Thorsten Altenkirch
2019-02-17 11:35 ` streicher
2019-02-17 11:44 ` Thorsten Altenkirch
2019-02-17 14:24 ` Bas Spitters
2019-02-17 19:36 ` Thomas Streicher
2019-02-17 21:41 ` Thorsten Altenkirch
2019-02-17 12:08 ` Matt Oliveri
2019-02-17 12:13 ` Matt Oliveri
2019-02-20 0:22 ` Michael Shulman
2019-02-17 14:22 ` [Agda] " Andreas Abel
2019-02-17 9:05 ` Matt Oliveri
2019-02-17 13:29 ` Nicolai Kraus
2019-02-08 21:19 ` Martín Hötzel Escardó
2019-02-08 23:31 ` Valery Isaev
2019-02-09 1:41 ` Nicolai Kraus
2019-02-09 8:04 ` Valery Isaev
2019-02-09 1:58 ` Jon Sterling
2019-02-09 8:16 ` Valery Isaev
2019-02-09 1:30 ` Nicolai Kraus
2019-02-09 11:38 ` Thomas Streicher
2019-02-09 13:29 ` Thorsten Altenkirch
2019-02-09 13:40 ` Théo Winterhalter
2019-02-09 11:57 ` Felix Rech
2019-02-09 12:39 ` Martín Hötzel Escardó
2019-02-11 6:58 ` Matt Oliveri
2019-02-18 17:37 ` Martín Hötzel Escardó
2019-02-18 19:22 ` Licata, Dan
2019-02-18 20:23 ` Martín Hötzel Escardó
2019-02-09 11:53 ` Felix Rech
2019-02-09 14:04 ` Nicolai Kraus
2019-02-09 14:26 ` Gabriel Scherer
2019-02-09 14:44 ` Jon Sterling
2019-02-09 20:34 ` Michael Shulman
2019-02-11 12:17 ` Matt Oliveri
2019-02-11 13:04 ` Michael Shulman
2019-02-11 15:09 ` Matt Oliveri
2019-02-11 17:20 ` Michael Shulman
2019-02-11 18:17 ` Thorsten Altenkirch
2019-02-11 18:45 ` Alexander Kurz
2019-02-11 22:58 ` Thorsten Altenkirch
2019-02-12 2:09 ` Jacques Carette
2019-02-12 11:03 ` Matt Oliveri [this message]
2019-02-12 15:36 ` Thorsten Altenkirch
2019-02-12 15:59 ` Matt Oliveri
2019-02-11 19:27 ` Matt Oliveri
2019-02-11 21:49 ` Michael Shulman
2019-02-12 9:01 ` Matt Oliveri
2019-02-12 17:54 ` Michael Shulman
2019-02-13 6:37 ` Matt Oliveri
2019-02-13 10:01 ` Ansten Mørch Klev
2019-02-11 20:11 ` Matt Oliveri
2019-02-11 8:23 ` Matt Oliveri
2019-02-11 13:03 ` Jon Sterling
2019-02-11 13:22 ` Matt Oliveri
2019-02-11 13:37 ` Jon Sterling
2019-02-11 6:51 ` Matt Oliveri
2019-02-09 12:30 ` [HoTT] " Thorsten Altenkirch
2019-02-11 7:01 ` Matt Oliveri
2019-02-11 8:04 ` Valery Isaev
2019-02-11 8:28 ` Matt Oliveri
2019-02-11 8:37 ` Matt Oliveri
2019-02-11 9:32 ` Rafaël Bocquet
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=8ab48f34-edd7-4ed3-bc35-526bd8d10562@googlegroups.com \
--to=atmacen@gmail.com \
--cc=HomotopyTypeTheory@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).