On Tuesday, 26 November 2019 00:25:37 UTC, Michael Shulman wrote:
HoTT instead expands the notion of "equality" to
essentially mean "isomorphism" and requires transporting along it as a
nontrivial action.  I doubt that that's what you have in mind, but
maybe you could explain what you do mean?

 I think terminology and notation alone cause a lot of confusion (and I
have said this many times in this list in the past, before Kevin joined in).

Much of the disagreement is not a real disagreement but a
misunderstanding.

 * In HoTT, or in univalent mathematics, we use the terminology
   "equals" and the notation "=" for something that is not the same
   notion as in "traditional mathematics".

 * Before the univalence axiom, we had Martin-Loef's identity type.

 * It was *intended* to capture equality *as used by mathematicians*
   (constructive or not).

 * But it didn't. Hofmann and Streicher proved that.

 * The identity type captures something else.

   It certainly doesn't capture truth-valued equality by default.

   In particular, Voevosdky showed that it captures isomorphism of
   sets, and more generality equivalence of ∞-groupoids.

   But this is distorting history a bit.

   In the initial drafts of his "homotopy lambda calculus", he tried
   come up with a new construction in type theory to capture
   equivalence.

   It was only later that he found out that what he needed was
   precisely Martin-Loef's identity type.

 * So writing "x = y" for the identity type is a bit perverse.

   People may say, and they have said "but there is no other sensible
   notion of equality for such type theories.

   That may be so, but because, in any case, *it is not the same
   notion of equality*, we should not use the same symbol.

 * Similarly, writing "X ≃ Y" is a bit perverse, too.

   In truth-valued mathematics, "X ≃ Y" is most of the time intended
   to be truth-valued, not set-valued.

   (Exception: category theory. E.g. we write a long chain of
   isomorphisms to establish that two objects are isomorphic. Then we
   learn that the author of such a proof was not interested in the
   existence of an isomorphism, but instead to provide an
   example. Such a proof/construction is usually concluded by saying
   something like "by chasing the isomorphism, we see that we can take
   [...] as our desired isomorphism.)


 * With the above out of the way, we can consider the imprecise slogan
   "isomorphic types are equal".

   The one thing that the univalence axiom doesn't say is that
   isomorphic type are equal.

   What it does say is that the *identity type* Id X Y is in canonical
   bijection with the type X ≃ Y of equivalences.

 * What is the effect of this?

   - That the identity type behaves like isomorphism, rather than like
     equality.

   - And that isomorphism behaves a little bit like equality.

   The important thing above is "a little bit".

   In particular, we cannot *substitute* things by isomorphic
   things. We can only *transport* them (just like things work as
   usual with isomorphisms).

 * Usually, the univalence axioms is expressed as a relation between
   equality and isomorphism.

   Where by equality we don't mean equality but instead the identity
   type.

   A way to avoid these terminological problems is to formulate
   univalence as a property of isomorphisms, or more precisely
   equivalences.

   To show that all equivalences satisfy a given property, it is
   enough to prove that all the identity equivalence between any two
   types have this property.

 * So, as Mike says above, most of the time we can work with type
   equivalence rather than "type equality". And I do too.

   Something that is not well explained at all in the literature is
   when and how the univalence axiom *actually makes a difference*.

   (I guess this is not well understood. I used to thing that the
   univalence axioms makes a difference only for types that are not
   sets. But actually, for example, the univalence axiom is needed (in
   the absence of the K axiom) to prove that the type of ordinals is a
   set.)

      * One example: object classifiers, subtype classifiers, ...

 * Sometimes the univalence axiom may be *convenient* but *not needed*.

   I guess that Kevin is, in particular, saying precisely that. In all
   cases where he needs to transport constructions along isomorphisms,
   he is confident that this can be done without univalence. And I
   would agree with this assessment.

Best,
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/HomotopyTypeTheory/13f496d9-1d01-4a2f-b5c1-826dd87aebf2%40googlegroups.com.