Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
From: "Martín Hötzel Escardó" <escardo.martin@gmail.com>
To: Homotopy Type Theory <HomotopyTypeTheory@googlegroups.com>
Subject: [HoTT] Re: Why do we need judgmental equality?
Date: Mon, 18 Feb 2019 09:37:27 -0800 (PST)	[thread overview]
Message-ID: <7c3967cd-6ea6-4008-908b-e80928240d66@googlegroups.com> (raw)
In-Reply-To: <1a3dfba4-816a-42c3-8eea-1a2906cb1cad@googlegroups.com>


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

On Friday, 8 February 2019 21:19:24 UTC, Martín Hötzel Escardó wrote:
>
>  why is it claimed that definitional equalities are essential to dependent 
> type theories?
>

I've tested what happens if we replace definitional/judgmental
equalities in MLTT by identity types, working in the fragment of Agda 
that only has Π and universes (built-in) and hence my Π has its usual 
judgemental rules, including the η rule (but this rule could be disabled).

In order to switch off definitional equalities for the identity type
and Σ types, I work with them given as hypothetical arguments to a module
(and no hence with no definitions):

  _≡_ : {X : 𝓤} → X → X → 𝓤        -- Identity type.

  refl : {X : 𝓤} (x : X) → x ≡ x

  J : {X : 𝓤} (x : X) (A : (y : X) → x ≡ y → 𝓤)
    → A x (refl x) → (y : X) (r : x ≡ y) → A y r

  J-comp : {X : 𝓤} (x : X) (A : (y : X) → x ≡ y → 𝓤)
            → (a : A x (refl x)) → J x A a x (refl x) ≡ a

  Σ : {X : 𝓤} → (X → 𝓤) → 𝓤

  _,_ : {X : 𝓤} {Y : X → 𝓤} (x : X) → Y x → Σ Y

  Σ-elim : {X : 𝓤} {Y : X → 𝓤} {A : Σ Y → 𝓤}
         → ((x : X) (y : Y x) → A (x , y))
         → (z : Σ Y) → A z

  Σ-comp : {X : 𝓤} {Y : X → 𝓤} {A : Σ Y → 𝓤}
         → (f : (x : X) (y : Y x) → A (x , y))
         → (x : X)
         → (y : Y x)
         → Σ-elim f (x , y) ≡ f x y

Everything I try to do with the identity type just works, including
the more advanced things of univalent mathematics - but obviously I
haven't tried everything that can be tried.

However, although I can define both projections pr₁ and pr₂ for Σ, and
prove the η-rule σ ≡ (pr₁ σ , pr₂ σ), I get

 p : pr₁ (x , y) ≡ x

but only

     pr₂ (x , y) ≡ transport Y (p ⁻¹) y

It doesn't seem to be possible to get pr₂ (x , y) ≡ y without further
assumptions. But maybe I overlooked something.

One idea, which I haven't tested, is to replace Σ-elim and Σ-comp by
the the single axiom

  Σ-single :
      {X : 𝓤} {Y : X → 𝓤} (A : Σ Y → 𝓤)
    → (f : (x : X) (y : Y x) → A (x , y))
    → is-contr (Σ λ (g : (z : Σ Y) → A z)
                       → (x : X) (y : Y x) → g (x , y) ≡ f x y)

I don't know whether this works. (I suspect the fact that "induction
principles ≃ contractibility of the given data with their computation
rules" is valid only in the presence of definitional equalities for
the induction principle, and that the contractibility version has a
better chance to work in the absence of definitional equalities.)

One can also wonder whether the presentation taking the projections
with their computation rules as primitive, and the η rule would
work. But again we can define Σ-elim but not Σ-comp for it.

In any case, without further identities, simply replacing definitional
equalities by identity types doesn't seem to work, although I may be 
missing something.

Martin



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

  parent reply	other threads:[~2019-02-18 17:37 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ó [this message]
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
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=7c3967cd-6ea6-4008-908b-e80928240d66@googlegroups.com \
    --to=escardo.martin@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).