Discussion of Homotopy Type Theory and Univalent Foundations
 help / color / mirror / Atom feed
From: Andreas Nuyts <andreasnuyts@gmail.com>
To: Michael Shulman <shulman@sandiego.edu>,
	Jon Sterling <jon@jonmsterling.com>
Cc: Thorsten Altenkirch <Thorsten.Altenkirch@nottingham.ac.uk>,
	"andrej.bauer" <andrej.bauer@andrej.com>,
	Homotopy Type Theory <homotopytypetheory@googlegroups.com>
Subject: Re: [HoTT] Question about the formal rules of cohesive homotopy type theory
Date: Thu, 1 Dec 2022 15:40:09 +0100	[thread overview]
Message-ID: <4d352fc9-c4d3-2304-1510-17cd653513a8@gmail.com> (raw)
In-Reply-To: <CADYavpyohZmqoArApd2vdE+Gp+sVczpw95TDy9xvDnMStMj=ZQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 6954 bytes --]

Hi everyone,

I finally found time to read up on this lengthy conversation.

Jon wrote:

    It is revealing that nobody has proposed a notion of **model** of
    type theory in which the admissible structural rules do not hold;
    this would be the necessary form taken by any evidence for the
    thesis that it is important for structural rules to not be derivable.


I think, on the contrary, that such models are not acknowledged as being 
models, because the language without substitution is in general not 
really the language of interest. An example of a model disrespecting 
substitution is the prettyprinter by Allais, Atkey, Chapman, McBride & 
McKinna (2021):
https://doi.org/10.1017/S0956796820000076
Indeed, substitution is no longer possible after prettyprinting, but all 
other language constructs are supported. Note that if a substitution 
operation is unavailable in a model, then the β-rule for functions 
cannot even be stated in that model, let alone asked to hold. So a model 
that fails to have a substitution operation necessarily also disrespects 
the equational theory of a language with such a β-rule. Prettyprinting 
indeed disrespects βη-equality.

Mike wrote:

    MTT is also not equivalent to split-context theories, and IMHO is
    less pleasant to work with in practice.


I'm reluctant to postulate here that any split-context theory is 
equivalent to some instance of MTT, but I would be quite surprised if 
you ever face any practical problems when abandoning a split-context 
system in favour of MTT. If you're thinking in particular about a system 
with crisp and non-crisp variables: such a system is implemented by 
Andrea in agda-flat. At the last Agda meeting, we have been 
investigating how mature the current modality system in Agda is and how 
feasible it is to support full MTT. One thing we observed is that - of 
all the parallel modality systems implemented in Agda - the cohesive one 
(of which only the flat and non-flat modalities are exposed to the user) 
is actually the one that adheres to the discipline of MTT (by having a 
third "squash" modality that effectively removes variables from the 
context).
Both regarding usability and equivalence, do not be misled by the 
invasive-looking locks. These locks have two confluent histories:
- there is a history of fitch-style logics,
- there is a history of modal logics with left-division. When 
implementing Menkar, which was intended as a proof assistant for general 
multimode systems with left division, I observed at some point that the 
left division of all modalities in the context actually never needs to 
be computed and can thus be regarded as a context /constructor/, rather 
than as an operation (i.e. admissibility of left division was not 
required, in none of the senses of the word mentioned so far). Modal 
Agda does use an eagerly computed left division. These systems with left 
division are very closely related to dual context systems.

I think usability is hard to judge because there isn't yet good tool 
support to experiment with. But I believe that it can grow on the user. 
A lock simply means "we've moved into a modal subterm". The position of 
the lock in the context is important in order to keep track of which 
variables were introduced before/after moving into that modal subterm. 
When using a variable, you just need to make sure that the variable's 
modal annotation is ≤ the composition of the locks, i.e. the modality of 
the position where we currently are and where we want to use the variable.

I am happy to discuss this matter further if you have any questions or 
doubts.

Best regards,
Andreas Nuyts

On 18.11.22 18:14, Michael Shulman wrote:
> That's an interesting question.  I was thinking of operations and 
> equalities, and annotations are neither of those, but I can see that 
> they're somewhat similar in spirit.  But I find it even more difficult 
> to imagine how to define this phenomenon precisely in a way that would 
> include them...
>
> On Fri, Nov 18, 2022 at 8:59 AM Jon Sterling <jon@jonmsterling.com> wrote:
>
>     On 18 Nov 2022, at 11:56, Michael Shulman wrote:
>
>     > Thanks.  It does sound like we mostly agree.  I would probably
>     argue that
>     > even for type theories in development, where we don't yet know
>     that full
>     > definitional equality is decidable -- or intrinsically
>     ill-behaved type
>     > theories like Lean, or Agda with non-confluent rewrite rules, where
>     > definitional equality *isn't* decidable -- there is still value
>     in being
>     > able to reduce just substitutions.  But I think that's a
>     relatively minor
>     > point.
>     >
>     > Maybe we can work out some way to use words so that this underlying
>     > agreement is evident.  For instance, can we find a third word to use
>     > alongside "admissible" and "derivable" to refer to
>     operations/equalities
>     > like substitution and its theory, which hold in all reasonable
>     models, and
>     > can be made admissible in some presentations, but more
>     importantly can be
>     > eliminated in an equality-checking algorithm?
>     >
>
>     Cool, it's a relief to start getting this cleared up! I really
>     agree with you that there is a need for terminology to describe
>     the situation you mention, and maybe even more, there is a need to
>     define this phenomenon...
>
>     I wonder if we can think of more concrete examples of this. For
>     instance, in many versions of syntax (like bidirectional ones) we
>     can choose to drop certain annotations because they will be
>     available as part of the flow of information in the elaboration
>     algorithm. Would these be an example of the phenomenon you are
>     describing, or is it something different?
>
>     Best,
>     Jon
>
> -- 
> 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/CADYavpyohZmqoArApd2vdE%2BGp%2BsVczpw95TDy9xvDnMStMj%3DZQ%40mail.gmail.com 
> <https://groups.google.com/d/msgid/HomotopyTypeTheory/CADYavpyohZmqoArApd2vdE%2BGp%2BsVczpw95TDy9xvDnMStMj%3DZQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

-- 
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/4d352fc9-c4d3-2304-1510-17cd653513a8%40gmail.com.

[-- Attachment #2: Type: text/html, Size: 9151 bytes --]

  reply	other threads:[~2022-12-01 14:40 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-11 22:53 Madeleine Birchfield
2022-11-11 23:47 ` Michael Shulman
2022-11-15 22:38 ` andrej.bauer
2022-11-16  9:52   ` 'Thorsten Altenkirch' via Homotopy Type Theory
2022-11-17 13:36     ` Jon Sterling
2022-11-18  2:35       ` Michael Shulman
2022-11-18  6:19         ` Tom Hirschowitz
2022-11-18 10:58         ` Jon Sterling
2022-11-18 16:16           ` Michael Shulman
2022-11-18 16:22             ` Jon Sterling
2022-11-18 11:35         ` 'Thorsten Altenkirch' via Homotopy Type Theory
2022-11-18 12:47         ` Jon Sterling
2022-11-18 13:05           ` Jon Sterling
2022-11-18 16:25             ` Michael Shulman
2022-11-18 16:38               ` Jon Sterling
2022-11-18 16:56                 ` Michael Shulman
2022-11-18 16:59                   ` Jon Sterling
2022-11-18 17:14                     ` Michael Shulman
2022-12-01 14:40                       ` Andreas Nuyts [this message]
2022-12-01 15:54                         ` Jon Sterling
2022-12-01 15:57                           ` Andreas Nuyts
2022-12-01 16:09                             ` Andreas Nuyts
2022-12-01 18:00                         ` Michael Shulman
2022-11-18 14:21     ` andrej.bauer

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=4d352fc9-c4d3-2304-1510-17cd653513a8@gmail.com \
    --to=andreasnuyts@gmail.com \
    --cc=Thorsten.Altenkirch@nottingham.ac.uk \
    --cc=andrej.bauer@andrej.com \
    --cc=homotopytypetheory@googlegroups.com \
    --cc=jon@jonmsterling.com \
    --cc=shulman@sandiego.edu \
    /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).