Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
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 --]

  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).