0 views

Skip to first unread message

Sep 18, 2019, 11:42:50 AM9/18/19

to homotopyt...@googlegroups.com

Let Equiv(A,B) denote the type of half-adjoint equivalences, so that

an e:Equiv(A,B) consists of five data: a function A -> B, a function B

-> A, two homotopies, and a coherence 2-path. Using univalence, we

can make e into an identification ua(e) : A=B, and then back into an

equivalence coe(ua(e)) : Equiv(A,B), which is typally equal to e.

Now we might wonder whether coe(ua(e)) might be in fact *judgmentally*

equal to e; or at least whether this might be true of some, if not

all, of its five components. In Book HoTT this is clearly not the

case, since univalence is posited as an axiom about which we know

nothing else. But what about cubical type theories? Can any of the

components of an equivalence e be recovered, up to judgmental

equality, from coe(ua(e))? (My guess would be that at least the

function A -> B, and probably also the function B -> A, can be

recovered, but perhaps not more.)

an e:Equiv(A,B) consists of five data: a function A -> B, a function B

-> A, two homotopies, and a coherence 2-path. Using univalence, we

can make e into an identification ua(e) : A=B, and then back into an

equivalence coe(ua(e)) : Equiv(A,B), which is typally equal to e.

Now we might wonder whether coe(ua(e)) might be in fact *judgmentally*

equal to e; or at least whether this might be true of some, if not

all, of its five components. In Book HoTT this is clearly not the

case, since univalence is posited as an axiom about which we know

nothing else. But what about cubical type theories? Can any of the

components of an equivalence e be recovered, up to judgmental

equality, from coe(ua(e))? (My guess would be that at least the

function A -> B, and probably also the function B -> A, can be

recovered, but perhaps not more.)

Sep 18, 2019, 12:15:23 PM9/18/19

to Michael Shulman, homotopyt...@googlegroups.com

In ABCFHL, even the function fst(coe(ua(e))) : A -> B is only path-equal to fst(e) : A -> B. If I recall correctly, the issue is that composition in the Glue type that you use to implement ua doesn’t judgementally give you f; instead there is some morally-the-identity-composition (that would cancel with regularity) that gets stuck in. This is because the general algorithm for composition in the glue type has to coerce in the “base” of the glue type (B in Glue [alpha -> T] B), which in the case of ua(e) = Glue [x = 0 -> (A,e), x=1 -> (B,id)] B is degenerate in x, but in general might not be.

I don’t recall any cubical type theories solving this, but I don’t remember the details of all of the other variations that have been explored well enough to say for sure.

> --

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

> To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAOvivQzzSXNHs%2BzbPQTyHEuU53aHXJ0sPe4pr%2Byf0ahLGvUpVA%40mail.gmail.com.

I don’t recall any cubical type theories solving this, but I don’t remember the details of all of the other variations that have been explored well enough to say for sure.

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

> To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAOvivQzzSXNHs%2BzbPQTyHEuU53aHXJ0sPe4pr%2Byf0ahLGvUpVA%40mail.gmail.com.

Sep 18, 2019, 3:23:32 PM9/18/19

to Licata, Dan, homotopyt...@googlegroups.com

Thanks, that's very interesting!

The reason I ask is that I was wondering to what extent the type "A=B"

can be regarded as "a coherent definition of equivalence" alongside

half-adjoint equivalences, maps with contractible fibers, etc. Of

course in some sense it is (even in Book HoTT), since it's equivalent

to Equiv(A,B); but the question is how practical it is -- for

instance, is it reasonable when doing synthetic homotopy theory to

state all equivalences as equalities?

In practice, the way we often construct equivalences is to make them

out of a quasi-inverse pair, and all the standard definitions of

equivalence have the nice property that they remember the two

functions in the quasi-inverse pair judgmentally. My experience with

the HoTT/Coq library is that this property is very useful, which is

one reason we state equivalences as equivalences rather than making

use of univalence to state them as equalities (another reason is that

it avoids "univalence-redexes" all over the theory). Half-adjoint

equivalences have the additional nice property that they remember one

of the homotopies judgmentally, and if you're willing to prove the

coherence 2-path by hand then they can be made to remember both of the

homotopies; this seems to be much less useful than I thought it would

be when we made the choice to use half-adjoint equivalences in the

HoTT/Coq library, but it has proven useful at least once.

So I was wondering to what extent equality of types in cubical type

theory has properties like this. It sounds from what you say like the

answer is "not much". This makes the lack of regularity seem like a

rather more serious problem than I had previously thought.

> To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/1DF8E802-2959-4BEF-A85A-3C6E5E7B9595%40wesleyan.edu.

The reason I ask is that I was wondering to what extent the type "A=B"

can be regarded as "a coherent definition of equivalence" alongside

half-adjoint equivalences, maps with contractible fibers, etc. Of

course in some sense it is (even in Book HoTT), since it's equivalent

to Equiv(A,B); but the question is how practical it is -- for

instance, is it reasonable when doing synthetic homotopy theory to

state all equivalences as equalities?

In practice, the way we often construct equivalences is to make them

out of a quasi-inverse pair, and all the standard definitions of

equivalence have the nice property that they remember the two

functions in the quasi-inverse pair judgmentally. My experience with

the HoTT/Coq library is that this property is very useful, which is

one reason we state equivalences as equivalences rather than making

use of univalence to state them as equalities (another reason is that

it avoids "univalence-redexes" all over the theory). Half-adjoint

equivalences have the additional nice property that they remember one

of the homotopies judgmentally, and if you're willing to prove the

coherence 2-path by hand then they can be made to remember both of the

homotopies; this seems to be much less useful than I thought it would

be when we made the choice to use half-adjoint equivalences in the

HoTT/Coq library, but it has proven useful at least once.

So I was wondering to what extent equality of types in cubical type

theory has properties like this. It sounds from what you say like the

answer is "not much". This makes the lack of regularity seem like a

rather more serious problem than I had previously thought.

Sep 18, 2019, 4:36:07 PM9/18/19

to Michael Shulman, Licata, Dan, homotopyt...@googlegroups.com

The definition of univalence for BCH cubical sets in https://arxiv.org/abs/1710.10941 does satisfy the property that fst(coe(ua(e))) = fst(e) : A -> B exactly. They note (Remark 7) that the definition can also be adjusted so that transporting backwards along the equivalence gives the inverse function one can extract from e.

Roughly, the problem Dan describes in ABCFHL---that the B in Glue [alpha -> T] B can also depend on the direction of coercion x---can be avoided in the BCH analogue of Glue by simply demanding that B is degenerate in x. The restricted operation is still sufficient to prove univalence. We can't make sense of this in a structural cubical set model because the property of being degenerate in a given variable isn't stable under diagonal substitution.

Evan

2019年9月18日(水) 15:23 Michael Shulman <shu...@sandiego.edu>:

To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAOvivQz_wY2CVp9Y5caEehVotR7w7D%3DoP6jpoUxm463pNdNHuA%40mail.gmail.com.

Sep 19, 2019, 4:21:10 AM9/19/19

to Evan Cavallo, Michael Shulman, Licata, Dan, homotopyt...@googlegroups.com

All variations of CCHM that I know suffer from the same issue as

ABCFHL for the reasons explained by Dan and Evan. Just as in the

cartesian setting fst(coe(ua(e))) reduces to fst(e) composed with some

"morally-the-identity-compositions" that don't disappear

automatically. For example, in Cubical Agda fst(coe(ua(e))) reduces to

fst(e) composed with a coe in a constant family that we have to take

care of manually (we write transport for coe):

https://github.com/agda/cubical/blob/master/Cubical/Foundations/Univalence.agda#L149

In my experience this is rarely a problem in practice though. It's a

bit annoying to insert these corrections manually in proofs, but it

happens quite rarely and when doing concrete computations with closed

types they disappear automatically. One difference I've noticed when

doing synthetic homotopy theory in cubical type theory compared to

HoTT is that we use equalities and univalence a lot more. The fact

that we sometimes need to insert these correction terms is largely

compensated by all of the useful primitives of cubical type theory

that we have for working with equalities that are not available for

equivalences (path abstraction/application, composition...).

--

Anders

> To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/CAFcn59ZLBcQMwJUMnnDKq3ewf582x4z4aqce4xR16xzcQeRxgA%40mail.gmail.com.

ABCFHL for the reasons explained by Dan and Evan. Just as in the

cartesian setting fst(coe(ua(e))) reduces to fst(e) composed with some

"morally-the-identity-compositions" that don't disappear

automatically. For example, in Cubical Agda fst(coe(ua(e))) reduces to

fst(e) composed with a coe in a constant family that we have to take

care of manually (we write transport for coe):

https://github.com/agda/cubical/blob/master/Cubical/Foundations/Univalence.agda#L149

In my experience this is rarely a problem in practice though. It's a

bit annoying to insert these corrections manually in proofs, but it

happens quite rarely and when doing concrete computations with closed

types they disappear automatically. One difference I've noticed when

doing synthetic homotopy theory in cubical type theory compared to

HoTT is that we use equalities and univalence a lot more. The fact

that we sometimes need to insert these correction terms is largely

compensated by all of the useful primitives of cubical type theory

that we have for working with equalities that are not available for

equivalences (path abstraction/application, composition...).

--

Anders

Reply all

Reply to author

Forward

0 new messages

Search

Clear search

Close search

Google apps

Main menu