From: Michael Shulman <shu...@sandiego.edu>
To: "HomotopyT...@googlegroups.com" <homotopyt...@googlegroups.com>
Subject: univalence without coherent equivalences
Date: Thu, 10 Aug 2017 13:57:52 -0700 [thread overview]
Message-ID: <CAOvivQz4qKBELT_hW+J81XTJ5AFDKeOyQYXu0WbaU5cyNVWFUA@mail.gmail.com> (raw)
Thinking about the recently re-mentioned characterization of
univalence in terms of a map
Equiv A B -> (A = B)
that is only assumed to be a section of the canonical map in the other
direction, it occurred to me that this gives a way to state the
univalence axiom without first needing any "coherent" notion of
equivalence. For at least if we have funext to start with, then
equalities in Equiv A B are (for any coherent definition of Equiv A B)
equivalent to equalities in A -> B, so we can state the retraction
property in terms of those.
More precisely, let
coe : (A = B) -> A -> B
be coercion along an equality, and let
QInv A B := Sigma(f:A->B) Sigma(g:B->A) ( (Pi(x:A) g(f(x)) = x)
\times (Pi(y:B) f(g(y))=y) )
be the type of quasi-invertible functions (incoherent equivalences).
We know that it is inconsistent to ask that the map (A = B) -> QInv A
B induced by coe is quasi-invertible. But suppose we instead ask for
just
ua : QInv A B -> (A = B)
and
uabeta : Pi((f,g,a,b) : QInv A B) Pi(a:A), coe (ua (f,g,a,b)) a = f(a)
If full univalence holds, then such functions certainly exist, since
any quasi-inverse can be improved to a coherent equivalence. But
conversely, if we assume funext to start with, then the full
univalence axiom can be proven from this ua and uabeta. (I just
formalized this in Coq to be sure.)
Maybe other people have already observed this, but I don't think I
noticed it before. It means that we don't need to invent or motivate
a coherent notion of equivalence before stating (or, in cubical type
theory or a semantic model, proving) univalence. Instead we can state
univalence in this way, and then (having already motivated funext,
which is much easier, and also has a "weak improves to strong"
theorem) motivate the search for a "good" definition of Equiv A B as
"can we define more explicitly a type that is equivalent to A = B"?
Mike
next reply other threads:[~2017-08-10 20:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-10 20:57 Michael Shulman [this message]
2017-08-13 22:05 ` [HoTT] " Nicolai Kraus
2017-08-14 4:15 ` Michael Shulman
2017-08-14 9:29 ` Andrew Pitts
2017-08-14 9:32 ` Michael Shulman
2017-08-14 9:36 ` Andrew Pitts
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=CAOvivQz4qKBELT_hW+J81XTJ5AFDKeOyQYXu0WbaU5cyNVWFUA@mail.gmail.com \
--to="shu..."@sandiego.edu \
--cc="homotopyt..."@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).