book icon indicating copy to clipboard operation
book copied to clipboard

Exercises on univalence

Open mikeshulman opened this issue 11 years ago • 18 comments

Chapter 2 has no exercises that make use of univalence. Can we come up with any good ones?

mikeshulman avatar Feb 22 '14 00:02 mikeshulman

Show that the universe is not a "0-type” (in the terms to be introduced in Chapter 3): it is not the case that parallel paths are always equal. (Hint: use the “negation" isomorphism 2 —> 2.)

On Feb 21, 2014, at 7:43 PM, Mike Shulman [email protected] wrote:

Chapter 2 has no exercises that make use of univalence. Can we come up with any good ones?

— Reply to this email directly or view it on GitHub.

awodey avatar Feb 22 '14 00:02 awodey

That's example 3.1.9...

mikeshulman avatar Feb 22 '14 00:02 mikeshulman

that’s OK — the reader is still in chapter 2! we can even add a reference from there back to the exercise.

On Feb 21, 2014, at 7:58 PM, Mike Shulman [email protected] wrote:

That's example 3.1.9...

— Reply to this email directly or view it on GitHub.

awodey avatar Feb 22 '14 01:02 awodey

Ok, well, that's one. Any more?

mikeshulman avatar Feb 22 '14 01:02 mikeshulman

I've found it interesting that you can prove (without univalence), e.g., ((p^)^ = p) = (p = p) (and similarly for the other coherence laws). I've wondered if having these type-level equalities for coherence laws at this level is sufficient to generate all the higher coherences with something weaker than path induction. I'm also curious if having univalence lets you extend these down a level (so you prove things about path spaces of points rather than path spaces of paths). Perhaps an exercise could be created from this idea?

JasonGross avatar Feb 22 '14 01:02 JasonGross

How about something like this:

Show that the univalence axiom (for a universe U) is equivalent to the following principle of “equivalence induction" for U: given any family of types A(X, Y, Z) for X, Y : U and Z : Eq(X, Y), if for all X : U we have A(X, X, 1_X), then we also have A(X, Y, Z). Observe that, informally, this says that everything that can be said about types X : U necessarily respects the relation of equivalence of types.

On Feb 21, 2014, at 8:06 PM, Mike Shulman [email protected] wrote:

Ok, well, that's one. Any more?

— Reply to this email directly or view it on GitHub.

awodey avatar Feb 22 '14 01:02 awodey

@awodey, is univalence actually equivalent to that, or do you need another computation rule (about what happens when you pass in Z := 1_X)? Said another way, is J sufficient to prove it's own computation rule?

JasonGross avatar Feb 22 '14 01:02 JasonGross

How about:

The type of binary relations from X to Y with the property that for every x:X the type of y which are related to x is contractible is equivalent to the type of functions from X to Y.

You can interchange x and y to get funtions from Y to X. Taking both the first and the reversed conditions gives equivalences from X to Y.

One concern with this proposal is that it uses contractibility, but maybe we can reformulate it so that it nicely fits in chapter 2 without needing forward references?

Egbert

@awodey https://github.com/awodey, is univalence actually equivalent to that, or do you need another computation rule (about what happens when you pass in Z := 1_X)? Said another way, is J sufficient to prove it's own computation rule?

Reply to this email directly or view it on GitHubhttps://github.com/HoTT/book/issues/636#issuecomment-35790340 .

EgbertRijke avatar Feb 23 '14 18:02 EgbertRijke

That's a nice exercise, for it gives a "direct" definition for the term "one-to-one correspondence", which school children learn, without using functions at all.

On Sun, Feb 23, 2014 at 1:03 PM, EgbertRijke [email protected]:

How about:

The type of binary relations from X to Y with the property that for every x:X the type of y which are related to x is contractible is equivalent to the type of functions from X to Y.

You can interchange x and y to get funtions from Y to X. Taking both the first and the reversed conditions gives equivalences from X to Y.

One concern with this proposal is that it uses contractibility, but maybe we can reformulate it so that it nicely fits in chapter 2 without needing forward references?

Egbert

@awodey https://github.com/awodey, is univalence actually equivalent to

that, or do you need another computation rule (about what happens when you pass in Z := 1_X)? Said another way, is J sufficient to prove it's own computation rule?

Reply to this email directly or view it on GitHubhttps://github.com/HoTT/book/issues/636#issuecomment-35790340

.

— Reply to this email directly or view it on GitHubhttps://github.com/HoTT/book/issues/636#issuecomment-35838069 .

DanGrayson avatar Feb 23 '14 18:02 DanGrayson

@awodey's second suggestion is Corollary 5.8.5, and @EgbertRijke's is almost the same as exercise 4.2.

mikeshulman avatar Feb 23 '14 19:02 mikeshulman

Yes, that's right... I'm sorry that I didn't look ahead carefully enough. Op 23 feb. 2014 20:01 schreef "Mike Shulman" [email protected]:

@awodey https://github.com/awodey's second suggestion is Corollary 5.8.5, and @EgbertRijke https://github.com/EgbertRijke's is almost the same as exercise 4.2.

Reply to this email directly or view it on GitHubhttps://github.com/HoTT/book/issues/636#issuecomment-35839544 .

EgbertRijke avatar Feb 23 '14 19:02 EgbertRijke

No need to apologize. As Steve said, we could consider moving some of these exercises forwards for the purpose of having some exercises on univalence in chapter 2, despite the fact that as currently written they fit better where they are. But it would also be nice to have some others.

One possibility, though perhaps not very interesting, would be to work through the facts about transport and equality of structures from section 2.14 using a particular structure other than semigroups. Monoids or graphs maybe.

Here's another idea: give a different proof of theorem 2.11.1 using univalence.

mikeshulman avatar Feb 23 '14 19:02 mikeshulman

good thing somebody knows what’s where!

On Feb 23, 2014, at 2:01 PM, Mike Shulman [email protected] wrote:

@awodey's second suggestion is Corollary 5.8.5, and @EgbertRijke's is almost the same as exercise 4.2.

— Reply to this email directly or view it on GitHub.

awodey avatar Feb 24 '14 05:02 awodey

We could also give some forward references at the end of the exercises section of chapter 2 to easy exercises which use univalence and only require the reader looking up a definition (such as contractibility) so that readers know with which exercises to start when they want to practice with univalence. It seems quite hard to come up with an exercise that doesn't use anything that only appears later on in the book.

2014-02-24 6:17 GMT+01:00 Steve Awodey [email protected]:

good thing somebody knows what's where!

On Feb 23, 2014, at 2:01 PM, Mike Shulman [email protected] wrote:

@awodey's second suggestion is Corollary 5.8.5, and @EgbertRijke's is almost the same as exercise 4.2.

Reply to this email directly or view it on GitHub.

Reply to this email directly or view it on GitHubhttps://github.com/HoTT/book/issues/636#issuecomment-35858418 .

EgbertRijke avatar Feb 24 '14 19:02 EgbertRijke

Exercises 3.9 and 3.10 also use univalence.

mikeshulman avatar Mar 01 '14 00:03 mikeshulman

Here's another exercise using univalence (and stuff from chapter 3). Let G be a (set) group and define a G-set to be a set with a G-action. Let B = Sigma(X:G-Set) || X =_{G-Set} G ||. Show that G =_B G is equivalent to G. We could also refer back to this exercise from chapter 8 when we define Eilenberg-Mac Lane spaces, and maybe include a (fairly easy) exercise in ch 8: Show that if G=Z, then the type B from exercise \ref{...} is equivalent to S^1.

mikeshulman avatar Apr 11 '14 23:04 mikeshulman

Yes - very nice! I think Dan G has recently formalized this.

Sent from my iPhone

On Apr 11, 2014, at 7:24 PM, Mike Shulman [email protected] wrote:

Here's another exercise using univalence (and stuff from chapter 3). Let G be a (set) group and define a G-set to be a set with a G-action. Let B = Sigma(X:G-Set) || X =_{G-Set} G ||. Show that G =_B G is equivalent to G. We could also refer back to this exercise from chapter 8 when we define Eilenberg-Mac Lane spaces, and maybe include a (fairly easy) exercise in ch 8: Show that if G=Z, then the type B from exercise \ref{...} is equivalent to S^1.

— Reply to this email directly or view it on GitHub.

awodey avatar Apr 11 '14 23:04 awodey

Yes, the first one is here: https://github.com/UniMath/UniMath/blob/d472fdc4ceda8bef85c720e257e425f96bb4ee00/UniMath/Ktheory/GroupAction.v#L418 and the second one is being approached here https://github.com/UniMath/UniMath/blob/d472fdc4ceda8bef85c720e257e425f96bb4ee00/UniMath/Ktheory/Circle.v#L223 and in following items, but without HITs, making it harder.

On Fri, Apr 11, 2014 at 7:47 PM, Steve Awodey [email protected]:

Yes - very nice! I think Dan G has recently formalized this.

Sent from my iPhone

On Apr 11, 2014, at 7:24 PM, Mike Shulman [email protected] wrote:

Here's another exercise using univalence (and stuff from chapter 3). Let G be a (set) group and define a G-set to be a set with a G-action. Let B = Sigma(X:G-Set) || X =_{G-Set} G ||. Show that G =_B G is equivalent to G. We could also refer back to this exercise from chapter 8 when we define Eilenberg-Mac Lane spaces, and maybe include a (fairly easy) exercise in ch 8: Show that if G=Z, then the type B from exercise \ref{...} is equivalent to S^1.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/HoTT/book/issues/636#issuecomment-40264600 .

DanGrayson avatar Apr 11 '14 23:04 DanGrayson