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 01:01:33 -0800 (PST)	[thread overview]
Message-ID: <58de3e94-fee9-405c-ab18-5a35cb90eb68@googlegroups.com> (raw)
In-Reply-To: <CAOvivQybUxVTUaUdX4Aiq_unToAbm5tZC=MmP6RP9ugWVDHnwg@mail.gmail.com>


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

On Monday, February 11, 2019 at 4:50:19 PM UTC-5, Michael Shulman wrote:
>
> Well, I can't tell exactly what Jon meant by "I have a proof object D 
> of a judgment J, if J is definitionally equal to J', then D is also 
> already a proof of J'.".  If he meant that an entire typing judgment 
> "M:A" is only "definitionally equal" to a typing judgment "N:B" if 
> *the very same derivation tree* of M:A counts also as a derivation of 
> N:B, then in the ordinary presentations of *any* ordinary type theory 
> I don't think any two judgments that differ by anything more than 
> alpha-equivalence would be considered "definitionally equal".
>

Right. So I assumed he didn't mean that. I'm pretty sure that for ITT, the 
terms are the proof objects. But it's not clear what should count as proof 
objects otherwise. This is a weakness of the definition. I guessed at what 
the proof objects were for Nuprl, but it looks like Jon had something else 
in mind.

If the proof objects are taken to be whatever notion of formal proof the 
formalizer needs to produce, then definitional equality is an important 
consideration for proof engineering. That's what I was thinking about. 
Crucially, proof automation changes the notion of proof, in practice. But 
this makes things fuzzy.

AML programs do not denote something in a model, 
> and I can't think of any sense in which two of them could be "equal by 
> definition".


You seem confused. Definitional equality is not a relation on proof 
objects, it's a relation on expressions appearing in the judgments they 
prove. AML programs don't appear in judgments. (Well, not any semantically 
relevant judgments.)

For instance, (\lambda x. x^2)(3) is equal by definition 
> to 3^2, because \lambda x. x^2 denotes by definition the function that 
> takes its argument and squares it.


This sure seems completely different from what Jon was getting at. But 
anyway, what's the difference between "denoting by definition" and regular 
denoting?

An important aspect of Jon's definition of "definitional equality", which I 
think is right, is that it doesn't have to do with models. Definitional 
equality is an intentional issue. An issue tied to implementation. ITT pins 
definitional equality to judgmental equality, which *does* have to do with 
models, and I think that's *bad*. I suspect that the discomfort or lack of 
understanding many mathematicians supposedly have with definitional 
equality stems from the fact that it is, in fact, an implementation issue.

So I would say that Andromeda with its reflection rule does not 
> include a "definitional equality" as a distinguished notion of the 
> core language.


Agree.

However, when using Andromeda as a logical framework 
> to implement some object language, one might assert a particular class 
> of substitutional equalities in the object language that are all 
> definitional.
>

How would you tell when a class of equalities is definitional?

On Mon, Feb 11, 2019 at 11:27 AM Matt Oliveri <atm...@gmail.com 
> <javascript:>> wrote: 
> > 
> > Jon's definitional equality is based on proof objects. The Andromeda 
> terms aren't proof objects, since you can't check just a term. So the fact 
> that Andromeda terms don't have coercions for strict equality doesn't do 
> anything for definitional equality. I would guess AML programs should be 
> considered the relevant proof objects. I'd say definitional equality in 
> Andromeda is pretty interesting, since algebraic effect handlers let you 
> locally add new automation for equality. But it can't be as rich as strict 
> equality (if you have e.g. induction on nats). And globally, it sounds like 
> it's just alpha conversion. 
>

-- 
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: 5443 bytes --]

  reply	other threads:[~2019-02-12  9:01 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
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 [this message]
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=58de3e94-fee9-405c-ab18-5a35cb90eb68@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).