Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
* Univalence from scratch
@ 2018-03-07 21:10 Martín Hötzel Escardó
  2018-03-08  1:37 ` [HoTT] " Jason Gross
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Martín Hötzel Escardó @ 2018-03-07 21:10 UTC (permalink / raw)
  To: Homotopy Type Theory


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

I have often seen competent mathematicians and logicians, outside our 
circle, making technically erroneous comments about the univalence axiom, 
in conversations, in talks, and even in public material, in journals or the 
web. 

For some time I was a bit upset about this. But maybe this is our fault, by 
often trying to explain univalence only imprecisely, mixing the explanation 
of the models with the explanation of the underlying theory (MLTT, identity 
types, universe), with none of the two explained sufficiently precisely. 

There are long, precise explanations such as the HoTT book, for example, 
or, the formalizations in Coq, Agda and Lean.

But perhaps we don't have publicly available material with a 
self-contained, brief and complete formulation of univalence, so that 
interested mathematicians and logicians can try to contemplate the axiom in 
a fully defined form.

Here is an attempt to rectify this:

  https://arxiv.org/abs/1803.02294

This also has an ancillary Agda file with univalence defined from scratch 
(without the use of any library at all). Perhaps somebody should add a Coq 
"version from scratch" of this. 

There is also a web version of this 
(http://www.cs.bham.ac.uk/~mhe/agda-new/UnivalenceFromScratch.html) to try 
to make this as accessible as possible, with the text and the Agda code 
together.

M.


[-- Attachment #1.2: Type: text/html, Size: 1582 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [HoTT] Univalence from scratch
  2018-03-07 21:10 Univalence from scratch Martín Hötzel Escardó
@ 2018-03-08  1:37 ` Jason Gross
  2018-03-08 10:04   ` Martin Escardo
  2018-03-08  3:50 ` Matt Oliveri
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Jason Gross @ 2018-03-08  1:37 UTC (permalink / raw)
  To: Martín Hötzel Escardó; +Cc: Homotopy Type Theory

[-- Attachment #1: Type: text/plain, Size: 2792 bytes --]

> Perhaps somebody should add a Coq "version from scratch" of this.

If you just want a straightforward transcription of the Agda code, I've
made one here:
https://gist.github.com/JasonGross/c6745e6d3ffbab3ee7034988c1b5b904

Feel free to adapt it as you desire, and use it with or without crediting
me.
The only "design decisions" of note are:
1. Making sigma types a record with primitive projections and eta is needed
to get Coq's "compute" to use projections in the normal form, rather than
"match"
2. I used "Opaque J" so that running reduction wouldn't print "match"
statements on the Id type.
3. I added a definition "isUnivalentAt" defined so that "isUnivalent := (X
Y : U) -> isUnivalentAt X Y", because I wanted to only pass universes in
the definition of isUnivalent, in a way that induced minimal clutter
4. I added some notations in "Module Short." to suppress printing of types,
to match your normal form with types elided.

-Jason

On Wed, Mar 7, 2018 at 4:10 PM Martín Hötzel Escardó <
escardo...@gmail.com> wrote:

> I have often seen competent mathematicians and logicians, outside our
> circle, making technically erroneous comments about the univalence axiom,
> in conversations, in talks, and even in public material, in journals or the
> web.
>
> For some time I was a bit upset about this. But maybe this is our fault,
> by often trying to explain univalence only imprecisely, mixing the
> explanation of the models with the explanation of the underlying theory
> (MLTT, identity types, universe), with none of the two explained
> sufficiently precisely.
>
> There are long, precise explanations such as the HoTT book, for example,
> or, the formalizations in Coq, Agda and Lean.
>
> But perhaps we don't have publicly available material with a
> self-contained, brief and complete formulation of univalence, so that
> interested mathematicians and logicians can try to contemplate the axiom in
> a fully defined form.
>
> Here is an attempt to rectify this:
>
>   https://arxiv.org/abs/1803.02294
>
> This also has an ancillary Agda file with univalence defined from scratch
> (without the use of any library at all). Perhaps somebody should add a Coq
> "version from scratch" of this.
>
> There is also a web version of this (
> http://www.cs.bham.ac.uk/~mhe/agda-new/UnivalenceFromScratch.html) to try
> to make this as accessible as possible, with the text and the Agda code
> together.
>
> M.
>
> --
> 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 HomotopyTypeThe...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

[-- Attachment #2: Type: text/html, Size: 3791 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Univalence from scratch
  2018-03-07 21:10 Univalence from scratch Martín Hötzel Escardó
  2018-03-08  1:37 ` [HoTT] " Jason Gross
@ 2018-03-08  3:50 ` Matt Oliveri
  2018-03-08  9:25   ` [HoTT] " Andrej Bauer
  2018-03-09  5:00 ` [HoTT] " N. Raghavendra
  2018-04-25  2:10 ` Jeff Olson
  3 siblings, 1 reply; 11+ messages in thread
From: Matt Oliveri @ 2018-03-08  3:50 UTC (permalink / raw)
  To: Homotopy Type Theory


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

The paper of Martin-Löf that you cite is about extensional type theory, not 
intensional type theory. In particular, in that paper, it's not the case 
that "Types are constructed together with their elements, and not by 
collecting some previously existing elements." as you write. You should 
probably cite something else. (Otherwise, looks good to me!)

I think the system you want was introduced in "An Intuitionistic Theory of 
Types: Predicative Part" (1975) 
(http://archive-pml.github.io/martin-lof/pdfs/An-Intuitionistic-Theory-of-Types-Predicative-Part-1975.pdf). 
But it doesn't have a nice concise description of the formal system.

On Wednesday, March 7, 2018 at 4:10:54 PM UTC-5, Martín Hötzel Escardó 
wrote:
>
> I have often seen competent mathematicians and logicians, outside our 
> circle, making technically erroneous comments about the univalence axiom, 
> in conversations, in talks, and even in public material, in journals or the 
> web. 
>
> For some time I was a bit upset about this. But maybe this is our fault, 
> by often trying to explain univalence only imprecisely, mixing the 
> explanation of the models with the explanation of the underlying theory 
> (MLTT, identity types, universe), with none of the two explained 
> sufficiently precisely. 
>
> There are long, precise explanations such as the HoTT book, for example, 
> or, the formalizations in Coq, Agda and Lean.
>
> But perhaps we don't have publicly available material with a 
> self-contained, brief and complete formulation of univalence, so that 
> interested mathematicians and logicians can try to contemplate the axiom in 
> a fully defined form.
>
> Here is an attempt to rectify this:
>
>   https://arxiv.org/abs/1803.02294
>
> This also has an ancillary Agda file with univalence defined from scratch 
> (without the use of any library at all). Perhaps somebody should add a Coq 
> "version from scratch" of this. 
>
> There is also a web version of this (
> http://www.cs.bham.ac.uk/~mhe/agda-new/UnivalenceFromScratch.html) to try 
> to make this as accessible as possible, with the text and the Agda code 
> together.
>
> M.
>
>

[-- Attachment #1.2: Type: text/html, Size: 3518 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [HoTT] Re: Univalence from scratch
  2018-03-08  3:50 ` Matt Oliveri
@ 2018-03-08  9:25   ` Andrej Bauer
  2018-03-08  9:26     ` Andrej Bauer
  2018-03-08 10:04     ` Martin Escardo
  0 siblings, 2 replies; 11+ messages in thread
From: Andrej Bauer @ 2018-03-08  9:25 UTC (permalink / raw)
  To: Homotopy Type Theory

Martin-Löf's paper "25 years of constructive type theory" might be an
appropriate reference. It's an updated version of earlier work, and
somewhere near the beginning he says explicitly that terms are always
constructed with their types.

With kind regards,

Andrej

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [HoTT] Re: Univalence from scratch
  2018-03-08  9:25   ` [HoTT] " Andrej Bauer
@ 2018-03-08  9:26     ` Andrej Bauer
  2018-03-08 10:04     ` Martin Escardo
  1 sibling, 0 replies; 11+ messages in thread
From: Andrej Bauer @ 2018-03-08  9:26 UTC (permalink / raw)
  To: Homotopy Type Theory

> Martin-Löf's paper "25 years of constructive type theory"

Sorry, that should have been: Martin-Löf's contribution in the book
"25 years of constructive type theory"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [HoTT] Univalence from scratch
  2018-03-08  1:37 ` [HoTT] " Jason Gross
@ 2018-03-08 10:04   ` Martin Escardo
  0 siblings, 0 replies; 11+ messages in thread
From: Martin Escardo @ 2018-03-08 10:04 UTC (permalink / raw)
  To: Jason Gross, Martín Hötzel Escardó; +Cc: Homotopy Type Theory

On 08/03/18 01:37, Jason Gross wrote:
>  > Perhaps somebody should add a Coq "version from scratch" of this.
> 
> If you just want a straightforward transcription of the Agda code, I've 
> made one here: 
> https://gist.github.com/JasonGross/c6745e6d3ffbab3ee7034988c1b5b904

Thanks, Jason. I am sending you a private message with further discussion.

Best,
Martin


> Feel free to adapt it as you desire, and use it with or without 
> crediting me.
> The only "design decisions" of note are:
> 1. Making sigma types a record with primitive projections and eta is 
> needed to get Coq's "compute" to use projections in the normal form, 
> rather than "match"
> 2. I used "Opaque J" so that running reduction wouldn't print "match" 
> statements on the Id type.
> 3. I added a definition "isUnivalentAt" defined so that "isUnivalent := 
> (X Y : U) -> isUnivalentAt X Y", because I wanted to only pass universes 
> in the definition of isUnivalent, in a way that induced minimal clutter
> 4. I added some notations in "Module Short." to suppress printing of 
> types, to match your normal form with types elided.
> 
> -Jason
> 
> On Wed, Mar 7, 2018 at 4:10 PM Martín Hötzel Escardó 
> <escardo...@gmail.com <mailto:escardo...@gmail.com>> wrote:
> 
>     I have often seen competent mathematicians and logicians, outside
>     our circle, making technically erroneous comments about the
>     univalence axiom, in conversations, in talks, and even in public
>     material, in journals or the web.
> 
>     For some time I was a bit upset about this. But maybe this is our
>     fault, by often trying to explain univalence only imprecisely,
>     mixing the explanation of the models with the explanation of the
>     underlying theory (MLTT, identity types, universe), with none of the
>     two explained sufficiently precisely.
> 
>     There are long, precise explanations such as the HoTT book, for
>     example, or, the formalizations in Coq, Agda and Lean.
> 
>     But perhaps we don't have publicly available material with a
>     self-contained, brief and complete formulation of univalence, so
>     that interested mathematicians and logicians can try to contemplate
>     the axiom in a fully defined form.
> 
>     Here is an attempt to rectify this:
> 
>     https://arxiv.org/abs/1803.02294
> 
>     This also has an ancillary Agda file with univalence defined from
>     scratch (without the use of any library at all). Perhaps somebody
>     should add a Coq "version from scratch" of this.
> 
>     There is also a web version of this
>     (http://www.cs.bham.ac.uk/~mhe/agda-new/UnivalenceFromScratch.html)
>     to try to make this as accessible as possible, with the text and the
>     Agda code together.
> 
>     M.
> 
>     -- 
>     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 HomotopyTypeThe...@googlegroups.com
>     <mailto:HomotopyTypeThe...@googlegroups.com>.
>     For more options, visit https://groups.google.com/d/optout.
> 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [HoTT] Re: Univalence from scratch
  2018-03-08  9:25   ` [HoTT] " Andrej Bauer
  2018-03-08  9:26     ` Andrej Bauer
@ 2018-03-08 10:04     ` Martin Escardo
  1 sibling, 0 replies; 11+ messages in thread
From: Martin Escardo @ 2018-03-08 10:04 UTC (permalink / raw)
  To: Andrej Bauer, Homotopy Type Theory

On 08/03/18 09:25, Andrej Bauer wrote:
> Martin-Löf's paper "25 years of constructive type theory" might be an
> appropriate reference. It's an updated version of earlier work, and
> somewhere near the beginning he says explicitly that terms are always
> constructed with their types.
> 
> With kind regards,
> 
> Andrej
> 

Thanks Matt and Andrej.

Best,
Martin


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [HoTT] Univalence from scratch
  2018-03-07 21:10 Univalence from scratch Martín Hötzel Escardó
  2018-03-08  1:37 ` [HoTT] " Jason Gross
  2018-03-08  3:50 ` Matt Oliveri
@ 2018-03-09  5:00 ` N. Raghavendra
  2018-03-09  7:02   ` Jason Gross
  2018-04-25  2:10 ` Jeff Olson
  3 siblings, 1 reply; 11+ messages in thread
From: N. Raghavendra @ 2018-03-09  5:00 UTC (permalink / raw)
  To: Martín Hötzel Escardó; +Cc: Homotopy Type Theory

At 2018-03-07T13:10:53-08:00, Martín Hötzel Escardó wrote:

> This also has an ancillary Agda file with univalence defined from
> scratch (without the use of any library at all). Perhaps somebody
> should add a Coq "version from scratch" of this.

I have kept my attempt at a Coq version at

  http://www.retrotexts.net/just-univalence/toc.html

However, I don't know how to define the univalence of a universe in Coq,
that is, I don't know what to write for foo and bar in

  Definition univalence (U : foo) : bar := baz.

Remarks are welcome.

Raghu.

--
N. Raghavendra <ra...@hri.res.in>, http://www.retrotexts.net/
Harish-Chandra Research Institute, http://www.hri.res.in/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [HoTT] Univalence from scratch
  2018-03-09  5:00 ` [HoTT] " N. Raghavendra
@ 2018-03-09  7:02   ` Jason Gross
  2018-03-09  9:13     ` N. Raghavendra
  0 siblings, 1 reply; 11+ messages in thread
From: Jason Gross @ 2018-03-09  7:02 UTC (permalink / raw)
  To: N. Raghavendra; +Cc: Martín Hötzel Escardó, Homotopy Type Theory

[-- Attachment #1: Type: text/plain, Size: 1347 bytes --]

Raghu, perhaps you want
  Set Universe Polymorphism.
  Definition univalence@{U U'} : Type@{U'} := forall X Y : Type@{U}, ...
or alternatively
  Universe U.
  Definition univalence := forall X Y : Type@{U}, ...
?

On Fri, Mar 9, 2018 at 12:00 AM N. Raghavendra <ra...@hri.res.in> wrote:

> At 2018-03-07T13:10:53-08:00, Martín Hötzel Escardó wrote:
>
> > This also has an ancillary Agda file with univalence defined from
> > scratch (without the use of any library at all). Perhaps somebody
> > should add a Coq "version from scratch" of this.
>
> I have kept my attempt at a Coq version at
>
>   http://www.retrotexts.net/just-univalence/toc.html
>
> However, I don't know how to define the univalence of a universe in Coq,
> that is, I don't know what to write for foo and bar in
>
>   Definition univalence (U : foo) : bar := baz.
>
> Remarks are welcome.
>
> Raghu.
>
> --
> N. Raghavendra <ra...@hri.res.in>, http://www.retrotexts.net/
> Harish-Chandra Research Institute, http://www.hri.res.in/
>
> --
> 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 HomotopyTypeThe...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

[-- Attachment #2: Type: text/html, Size: 2215 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [HoTT] Univalence from scratch
  2018-03-09  7:02   ` Jason Gross
@ 2018-03-09  9:13     ` N. Raghavendra
  0 siblings, 0 replies; 11+ messages in thread
From: N. Raghavendra @ 2018-03-09  9:13 UTC (permalink / raw)
  To: Jason Gross; +Cc: Martín Hötzel Escardó, Homotopy Type Theory

At 2018-03-09T07:02:08Z, Jason Gross wrote:

> Raghu, perhaps you want
>   Set Universe Polymorphism.
>   Definition univalence@{U U'} : Type@{U'} := forall X Y : Type@{U},
> ...
> or alternatively
>   Universe U.
>   Definition univalence := forall X Y : Type@{U}, ...
> ?

Thanks, I'll try that.  At present, I am working with a specified
polymorphic universe 𝕌, and am using

  Definition univalences : 𝕌 := ∏ (X Y : 𝕌) , ....

Raghu.

-- 
N. Raghavendra <ra...@hri.res.in>, http://www.retrotexts.net/
Harish-Chandra Research Institute, http://www.hri.res.in/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Univalence from scratch
  2018-03-07 21:10 Univalence from scratch Martín Hötzel Escardó
                   ` (2 preceding siblings ...)
  2018-03-09  5:00 ` [HoTT] " N. Raghavendra
@ 2018-04-25  2:10 ` Jeff Olson
  3 siblings, 0 replies; 11+ messages in thread
From: Jeff Olson @ 2018-04-25  2:10 UTC (permalink / raw)
  To: Homotopy Type Theory


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

I posted a version written in Idris here 
(https://github.com/jdolson/univalence-from-scratch) if anyone is curious. 
-Jeff

[-- Attachment #1.2: Type: text/html, Size: 142 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-04-25  2:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-07 21:10 Univalence from scratch Martín Hötzel Escardó
2018-03-08  1:37 ` [HoTT] " Jason Gross
2018-03-08 10:04   ` Martin Escardo
2018-03-08  3:50 ` Matt Oliveri
2018-03-08  9:25   ` [HoTT] " Andrej Bauer
2018-03-08  9:26     ` Andrej Bauer
2018-03-08 10:04     ` Martin Escardo
2018-03-09  5:00 ` [HoTT] " N. Raghavendra
2018-03-09  7:02   ` Jason Gross
2018-03-09  9:13     ` N. Raghavendra
2018-04-25  2:10 ` Jeff Olson

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