Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
From: Jon Sterling <j...@jonmsterling.com>
To: HomotopyTypeTheory@googlegroups.com
Subject: Re: [HoTT] Different notions of equality; terminology
Date: Mon, 18 Jul 2016 14:17:38 -0700	[thread overview]
Message-ID: <1468876658.2069095.669919241.7FD546F2@webmail.messagingengine.com> (raw)
In-Reply-To: <b8aa1ee7-80a9-497b-916b-8b31d6eb76b3@googlegroups.com>

> The effect of Martin-Lof's "propositional reflection rule" is simply to collapse the two levels and make them one and the same. For the type theorist, this is really bad, because it breaks nice properties like normalization and decidability of type checking

On the contrary, for a type theorist, this is *very good*. That's
because the entire type-theoretic/judgmental methodology is arranged
around a single move, which is to take a kind of observation which
exists at the judgmental level, and internalize it to one that exists at
the propositional level without losing information.

So, "equality reflection" in MLTT is just the recognition that nothing
at all was added when the judgmental equality (which of course includes
all the standard laws from the meaning explanation, including functional
extensionality, etc.) was internalized into a proposition.

It is interesting to remember that "equality reflection" is derivable
when restricted to the empty context (and, clearly, any type theory for
which this does not hold is broken—i.e. the type in question is then not
an "equality type", but something else—and figuring out precisely what
that "something else" is has been the main force of the past few years
in the development of cubical type theory).

As you know, the concerns that you raise only come into play in the
rule's full generality at a non-empty context, which leads me to clarify
that the real "dangerous" force of equality reflection has little to do
with equality, and everything to do with the following position (which
you are free to accept or to reject depending on what you want to use
type theory for):

    The meaning of "G !- P true" (i.e. P under hypothesis) is completely
    defined from the meaning of "G" and the meaning of "P" under no
    hypotheses.

Indeed, the standard semantics for type theory are arranged in this way.
Nonstandard semantics, including categories-with-families, follow the
approach pioneered in universal algebra, where the meaning of a type the
specification of its closed members, but rather specifies in addition
what its members shall be under an arbitrary context, subject of course
to various coherences with substitutions.

Anyway, it's fine to want strong normalization (that is, normalization
in any context, even an inconsistent one!) & decidability—I can think of
a million places where I *do* want this. But let's be precise and
collegial with our language instead of throwing around phrases like
"really bad"—there's no point to be insulting a body of theory which has
been incredibly successful and useful, and by extension, to insult &
dismiss the people who work on it, such as myself, my advisor, and many
of my friends and heroes.

Thanks,
Jon

On Mon, Jul 18, 2016, at 01:45 PM, Andrew Polonsky wrote:
> Good evening.
> 
> One feature of type theory which is often confusing to newcomers is the 
> presence of several notions of equality.  Today, at the opening of the 
> FOMUS workshop, Vladimir gave a talk about the very subject -- but more
> on 
> that later.  The two most common notions are usually called "definitional 
> equality" and "propositional equality".
> 
> It is agreed by most members of this list that the name of the latter 
> notion is unfortunate, if not misleading.  I would like to suggest the
> name 
> "logical equality" to be used for this notion.
> 
> First, let us summarize the two notions in greater detail.
> 
> 
> 1. DEFINITIONAL EQUALITY.
> 
> PROPERTIES.
> 
> - Purely syntactic: "proofs" of this equality concern only the way the 
> objects are presented;
> - Is always interpreted strictly;
> - Preserved under all contexts:
>   If M=N definitionally, then C[M]=C[N], still definitionally;
> - Validates strict conversion rule:
>   If t has type A, and A is definitionally equal to B,
>   Then t *itself* has type B. (Not a transport of t, nor some term equal
>   to 
> t.)
> - Cannot be asserted in a derivation context [*]
> - In total languages, is usually, but not always, decidable.
> 
> EXAMPLES.
> 
> - Judgmental equality (in the LF formulation of type theory);
> - Untyped conversion (in the PTS formulation of type theory);
> - Well-typed conversion (all reduction subsequences must pass through 
> well-typed terms);
> - Equalities which result from newly introduced rewrite rules;
> - Equalities which result from unification/pattern-matching constraints;
> - Any equalities arising from quotienting the term algebra (eg, by 
> contextual equivalence).
> 
> 
> 2. LOGICAL EQUALITY
> 
> PROPERTIES.
> - Is a type constructor/formula former in the object language; thus
> - Can be asserted into a derivation context;
> - Induces isomorphism/equivalence of fibers between dependent types; thus
> - Allows a term of any type to be transported to a type logically equal
> to 
> it;
> - May be interpreted weakly/as a path.
> 
> EXAMPLES.
> - The native equality of first-order logic;
> - In particular, equality in set theory;
> - Martin-Lof identity type;
> - Univalent equality in HoTT/UF;
> - Leibniz equality in impredicative dependent type theories (Calculus of 
> Constructions);
> - Extensional equality in Observational Type Theory;
> - The Paths type in Cubical Type Theory.
> 
> The first example above is the main motivator for this terminological 
> proposal.  Whether one considers equality as a "logical symbol", it is 
> obviously a concept which is present at the level of *formulas*.  Under 
> formulae-as-types interpretation, one would naturally tend to think of it 
> as a proposition, until one came to realize that some types are not 
> propositions.  (Indeed, it was the only dependent type former in Howard's 
> original paper.  Yet it could not be iterated/applied to itself.)
> 
> The point is that the second kind of equality is the one which can be 
> reasoned about internally, *in the object logic*.  Hence, it exists not
> on 
> the level of terms and definitions, but on the level of logic and 
> proofs/constructions of formulae/types.
> 
> 
> One argument against the adjective "logical" is that it can lead to 
> confusion with "logical equivalence".  But I don't think that that is a 
> certain outcome.
> 
> An alternative descriptor could be "type-level" or "type-theoretic", but 
> both are rather awkward and unrevealing.
> 
> 
> Finally, Voevodsky currently distinguishes between "substitutive" and 
> "transportational" equalities.  But in his system, both concepts are of
> the 
> "logical" kind.  The effect is therefore to promote "strict" equality to 
> the logical level; so one can reason about it in the object logic, while 
> retaining other properties like the conversion rule.
> 
> The effect of Martin-Lof's "propositional reflection rule" is simply to 
> collapse the two levels and make them one and the same.
> For the type theorist, this is really bad, because it breaks nice 
> properties like normalization and decidability of type checking.
> For the homotopy type theorist, this is really bad, because it is 
> inconsistent with univalence.
> 
> Best regards,
> Andrew
> 
> [*]  In certain settings, one can make sense of definitional equalities 
> "in-context" via the so-called Girard--Schroder-Heister (GSH) elimination 
> rule.
> 
> -- 
> 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:[~2016-07-18 21:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-18 20:45 Andrew Polonsky
2016-07-18 21:03 ` [HoTT] " Andrej Bauer
2016-07-18 21:05 ` Vladimir Voevodsky
2016-07-18 21:13   ` Andrew Polonsky
     [not found]     ` <2506A3A8-8AC0-4B49-AD1E-D660A7A15245@ias.edu>
     [not found]       ` <CABcT7WDYqUY=efCTvdRpdW98aDSXpjfHGo9pJz2jBNa3yNXCgQ@mail.gmail.com>
     [not found]         ` <085E4ACF-BD06-484F-ACA3-17DD6249CF76@ias.edu>
     [not found]           ` <CABcT7WBKxFhcvuBP66wOcUzU1uPNUqPqXoSYW4aCJv4c8U7iuQ@mail.gmail.com>
2016-07-18 21:45             ` Vladimir Voevodsky
2016-07-18 21:16   ` Dimitris Tsementzis
2016-07-18 21:17 ` Jon Sterling [this message]
2016-07-18 21:24   ` Andrew Polonsky
     [not found] ` <CAOvivQyZzdyhFFPfqkH4W+Z--78t0LEVWtthLhCpDxUkJNUrMQ@mail.gmail.com>
2016-07-18 22:20   ` Andrew Polonsky
2016-07-18 22:24     ` Jon Sterling
     [not found]     ` <CAOvivQy44FvN_bVD+nby8t0BnnTYf38dR5=s31_Yv_VsDOzLCA@mail.gmail.com>
2016-07-18 22:43       ` Andrew Polonsky
     [not found]         ` <CAOvivQw15pOvi9wzWFpB2WcwmgxB=uw-826xNmxUck57VagEQA@mail.gmail.com>
2016-07-18 23:01           ` Andrew Polonsky
2016-07-19 12:53             ` Michael Shulman
2016-07-19 16:49               ` Jon Sterling
2016-07-19 19:07                 ` Egbert Rijke
2016-07-20  2:45                 ` Dan Licata
2016-07-19 23:19 ` Martin Hotzel Escardo

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=1468876658.2069095.669919241.7FD546F2@webmail.messagingengine.com \
    --to="j..."@jonmsterling.com \
    --cc=HomotopyTypeTheory@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).