Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
From: Michael Shulman <shu...@sandiego.edu>
To: Steve Awodey <steve...@gmail.com>
Cc: Dimitris Tsementzis <dtse...@princeton.edu>,
	 Homotopy Type Theory <HomotopyT...@googlegroups.com>
Subject: Re: [HoTT] A small observation on cumulativity and the failure of initiality
Date: Fri, 13 Oct 2017 08:50:16 -0700	[thread overview]
Message-ID: <CAOvivQy9HZykAErxd9UkV3LA9WnJchM9cWbat3jdh3cRtLKQ0Q@mail.gmail.com> (raw)
In-Reply-To: <7ACEB87C-CF6E-4ACC-A803-2E44D7D0374A@gmail.com>

On Thu, Oct 12, 2017 at 5:09 PM, Steve Awodey <steve...@gmail.com> wrote:
> in order to have an (essentially) algebraic notion of type theory, which
> will then automatically have initial algebras, etc., one should have the
> typing of terms be an operation, so that every term has a unique type. In
> particular, your (R1) violates this. Cumulativity is a practical convenience
> that can be added to the system by some syntactic conventions, but the real
> system should have unique typing of terms.

I'm not convinced of that.  When we define the syntactic model, a
morphism from A to B (say) is defined to be a term x:A |- t:B, where
the types A and B are given.  So it's not clear that it matters
whether the same syntactic object t can also be typed as belonging to
some other type.  I thought that the fundamental structure that we
induct over to prove initiality is the *derivation* of a typing
judgment, which includes the type that the term belongs to: two
derivations of x:A |- t:B and x:A |- t:C will necessarily be different
if B and C are different.  In an ideal world, a judgment x:A |- t:B
would have at most one derivation, so that we could induct on
derivations and still consider the syntactic model to be built out of
terms rather than derivations.  If not, then we need a separate step
of showing that different derivations of the same judgment yield the
same interpretation; but still, it's not clear to me that the
simultaneous derivability of x:A |- t:C is fatal.

Moreover, I'm not an expert in this, but my understanding is that type
theorists often think of typing as having two "modes": type checking,
in which t and B are both given and a derivation of t:B is to be
found, and type synthesis or inference, in which t is given and B has
to be found along with a derivation of t:B.  Which mode you are in at
which point in an algorithm depends on the structure of t and B.  This
is not irrelevant to the question of initiality, since this sort of
"bidirectional type checking" can also be encoded in the judgmental
structure.

Mike

>
> Steve
>
>
> On Oct 12, 2017, at 2:43 PM, Dimitris Tsementzis <dtse...@princeton.edu>
> wrote:
>
> Dear all,
>
> Let’s say a type theory TT is initial if its term model C_TT is initial
> among TT-models, where TT-models are models of the categorical semantics of
> type theory (e.g. CwFs/C-systems etc.) with enough extra structure to model
> the rules of TT.
>
> Then we have the following, building on an example of Voevodsky’s.
>
> OBSERVATION. Any type theory which contains the following rules (admissible
> or otherwise)
>
> Γ |- T Type
> ————————  (C)
> Γ |- B(T) Type
>
> Γ |- t : T
> ————————  (R1)
> Γ |- t : B(T)
>
> Γ |- t : T
> ————————  (R2)
> Γ |- p(t) : B(T)
>
> together with axioms that there is a type T0 in any context and a term t0 :
> T0 in any context, is not initial.
>
> PROOF SKETCH. Let TT be such a type theory. Consider the type theory TT*
> which replaces (R1) with the rule
>
> Γ |- t : T
> ————————  (R1*)
> Γ |- q(t) : B(T)
>
> i.e. the rule which adds an “annotation” to a term t from T that becomes a
> term of B(T). Then the category of TT-models is isomorphic (in fact, equal)
> to the category of TT*-models and in particular the term models C_TT and
> C_TT* are both TT-models. But there are two distinct TT-model homomorphisms
> from C_TT to C_TT*, one which sends p(t0) to pq(t0) and one which sends
> p(t0) to qp(t0) (where p(t0) is regarded as an element of Tm_{C_TT} (empty,
> B(B(T0))), i.e. of the set of terms of B(B(T0)) in the empty context as they
> are interpreted in the term model C_TT).
>
> COROLLARY. Any (non-trivial) type theory with a “cumulativity" rule for
> universes, i.e. a rule of the form
>
> Γ |- A : U0
> ————————  (U-cumul)
> Γ |- A : U1
>
> is not initial. In particular, the type theory in the HoTT book is not
> initial (because of (U-cumul)), and two-level type theory 2LTT as presented
> here is not initial (because of the rule (FIB-PRE)).
>
> The moral of this small observation, if correct, is not of course that type
> theories with the guilty rules cannot be made initial by appropriate
> modifications to either the categorical semantics or the syntax, but rather
> that a bit of care might be required for this task. One modification would
> be to define their categorical semantics to be such that certain identities
> hold that are not generally included in the definitions of
> CwF/C-system/…-gadgets (e.g. that the inclusion operation on universes is
> idempotent). Another modification would be to add annotations (by replacing
> (R1) with (R1*) as above) and extra definitional equalities ensuring that
> annotations commute with type constructors.
>
> But without some such explicit modification, I think that the claim that
> e.g. Book HoTT or 2LTT is initial cannot be considered obvious, or even
> entirely correct.
>
> Best,
>
> Dimitris
>
> PS: Has something like the above regarding cumulativity rules has been
> observed before — if so can someone provide a relevant reference?
>
>
>
>
>
> --
> 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.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> 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.
> For more options, visit https://groups.google.com/d/optout.

  parent reply	other threads:[~2017-10-13 15:50 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-12 18:43 Dimitris Tsementzis
2017-10-12 22:31 ` [HoTT] " Michael Shulman
2017-10-13  4:30   ` Dimitris Tsementzis
2017-10-13 15:41     ` Michael Shulman
2017-10-13 21:51       ` Dimitris Tsementzis
2017-10-13  0:09 ` Steve Awodey
2017-10-13  0:44   ` Alexander Altman
2017-10-13 15:50   ` Michael Shulman [this message]
2017-10-13 16:17     ` Steve Awodey
2017-10-13 16:23       ` Michael Shulman
2017-10-13 16:36         ` Matt Oliveri
2017-10-14 14:56         ` Gabriel Scherer
2017-10-15  7:45           ` Thomas Streicher
2017-10-15  8:37             ` Thierry Coquand
2017-10-15  9:26               ` Thomas Streicher
2017-10-16  5:30                 ` Andrew Polonsky
2017-10-15 10:12             ` Michael Shulman
2017-10-15 13:57               ` Thomas Streicher
2017-10-15 14:53                 ` Michael Shulman
2017-10-15 16:00                   ` Michael Shulman
2017-10-15 21:00                     ` Matt Oliveri
2017-10-16  5:09                       ` Michael Shulman
2017-10-16 12:30                         ` Neel Krishnaswami
2017-10-16 13:35                           ` Matt Oliveri
2017-10-16 15:00                           ` Michael Shulman
2017-10-16 16:34                             ` Matt Oliveri
2017-10-16 13:45                         ` Matt Oliveri
2017-10-16 15:05                           ` Michael Shulman
2017-10-16 16:20                             ` Matt Oliveri
2017-10-16 16:37                               ` Michael Shulman
2017-10-16 10:01                   ` Thomas Streicher
2017-10-15 20:06     ` Matt Oliveri
2017-10-13  8:03 ` Peter LeFanu Lumsdaine
2017-10-13  8:10   ` Thomas Streicher
2017-10-14  7:33     ` Thorsten Altenkirch
2017-10-14  9:37       ` Andrej Bauer
2017-10-14  9:52         ` Thomas Streicher
2017-10-14 10:51           ` SV: " Erik Palmgren
2017-10-15 23:42           ` Andrej Bauer
2017-10-15 10:42         ` Thorsten Altenkirch
2017-10-13 22:05   ` Dimitris Tsementzis
2017-10-13 14:12 ` Robin Adams
     [not found] <B14E498C-FA19-41D2-B196-42FAF85F8CD8@princeton.edu>
2017-10-14  9:55 ` [HoTT] " Alexander Altman
2017-10-16 10:21 Thorsten Altenkirch
2017-10-16 10:42 ` Andrew Polonsky
2017-10-16 14:12   ` Thorsten Altenkirch
2017-10-16 10:21 Thorsten Altenkirch

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=CAOvivQy9HZykAErxd9UkV3LA9WnJchM9cWbat3jdh3cRtLKQ0Q@mail.gmail.com \
    --to="shu..."@sandiego.edu \
    --cc="HomotopyT..."@googlegroups.com \
    --cc="dtse..."@princeton.edu \
    --cc="steve..."@gmail.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).