Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
From: "Anders Mörtberg" <andersmortberg@gmail.com>
To: Homotopy Type Theory <HomotopyTypeTheory@googlegroups.com>
Subject: Re: [HoTT] Different definitions of Sn
Date: Wed, 18 Sep 2019 05:00:29 -0700 (PDT)	[thread overview]
Message-ID: <db712ad2-396f-4328-bb73-898dcb956834@googlegroups.com> (raw)
In-Reply-To: <CAFJ3QW+znvLhFgBODptrjnKcY8QaEH8BxD3adrgRUNvo5fU+EQ@mail.gmail.com>


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

Let me elaborate a bit on my answer. One might naively try to copy Dan and 
Guillaume's definition and write the following in Cubical Agda:


Omega : (A : Type₀) → A → Type₀
Omega A a = (a ≡ a)

itOmega : ℕ → (A : Type₀) → A → Type₀
itOmega zero A a = Omega A a
itOmega (suc n) A a = itOmega n (Omega A a) refl

data Sn (n : ℕ) : Type₀ where
  base : Sn n
  surf : itOmega n (Sn n) base


However Agda will complain as surf is not constructing an element of Sn. 
This might seem a bit funny as Cubical Agda is perfectly happy with


data S³ : Type₀ where 
  base : S³ 
  surf : Path (Path (base ≡ base) refl refl) refl refl 


But what is happening under the hood is that surf is a constructor taking 
i, j, and k in the interval and returning an element of S^3 with boundary 
"base" whenever i, j and k are 0 or 1. In cubicaltt we can write this HIT 
in the following way:


data S3 = base
 | surf <i j k> [ (i=0) -> base
                , (i=1) -> base
                , (j=0) -> base
                , (j=1) -> base
                , (k=0) -> base
                , (k=1) -> base ]


The problem is then clearer: in order to write the surf constructor of Sn 
we would have to quantify over n interval variables and specify the 
boundary of the n-cell. This is what that is not supported by any of the 
cubical schemas for HITs.

--
Anders

On Wednesday, September 18, 2019 at 11:00:22 AM UTC+2, Guillaume Brunerie 
wrote:
>
> Hi, 
>
> We give a definition of S^n with one point and one n-loop by 
> introduction/elimination/reduction rules in our paper with Dan Licata 
> (https://guillaumebrunerie.github.io/pdf/lb13cpp.pdf), which can be 
> implemented in Agda (so Kristina’s question can be formulated and can 
> presumably be formalized in Agda) but I don’t think we actually proved 
> it. 
>
> Best, 
> Guillaume 
>
> Den ons 18 sep. 2019 kl 10:32 skrev Anders Mortberg <andersm...@gmail.com 
> <javascript:>>: 
> > 
> > Hi Kristina, 
> > 
> > We have proofs for S^0, S^1, S^2 and S^3 in Cubical Agda: 
> > https://github.com/agda/cubical/blob/master/Cubical/HITs/Susp/Base.agda 
> > 
> > However, I don't think we can even write down the general version of 
> > S^n as a type with a point and an n-loop with the schema implemented 
> > in Cubical Agda. As far as I know no other schema for HITs support 
> > this kind of types either. 
> > 
> > -- 
> > Anders 
> > 
> > On Tue, Sep 17, 2019 at 9:56 PM Kristina Sojakova 
> > <sojakova...@gmail.com <javascript:>> wrote: 
> > > 
> > > Hello everybody, 
> > > 
> > > Is it worked out somewhere that the two definitions of Sn as a 
> > > suspension on one hand and a HIT with a point and an n-loop on the 
> other 
> > > hand are equivalent? This is also an exercise in the book. I know 
> > > Favonia has some Agda code on spheres but I couldn't find this result 
> in 
> > > there. 
> > > 
> > > Thanks, 
> > > 
> > > Kristina 
> > > 
> > > 
>

-- 
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/db712ad2-396f-4328-bb73-898dcb956834%40googlegroups.com.

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

  reply	other threads:[~2019-09-18 12:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-17 19:56 Kristina Sojakova
2019-09-18  8:32 ` Anders Mortberg
2019-09-18  9:00   ` Guillaume Brunerie
2019-09-18 12:00     ` Anders Mörtberg [this message]
2019-09-18 16:27       ` Licata, Dan
2019-09-18 19:19         ` Michael Shulman

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=db712ad2-396f-4328-bb73-898dcb956834@googlegroups.com \
    --to=andersmortberg@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).