Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] [Agda] [lean-user] Re: Why dependent type theory?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] [Agda] [lean-user] Re: Why dependent type theory?


Chronological Thread 
  • From: Stefan Monnier <monnier AT iro.umontreal.ca>
  • To: Thorsten Altenkirch <Thorsten.Altenkirch AT nottingham.ac.uk>
  • Cc: Bas Spitters <b.a.w.spitters AT gmail.com>, Kevin Buzzard <kevin.m.buzzard AT gmail.com>, coq-club AT inria.fr, lean-user <lean-user AT googlegroups.com>, agda-list <agda AT lists.chalmers.se>, "coq+miscellaneous AT discoursemail.com" <coq+miscellaneous AT discoursemail.com>
  • Subject: Re: [Coq-Club] [Agda] [lean-user] Re: Why dependent type theory?
  • Date: Sun, 15 Mar 2020 13:01:06 -0400
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=monnier AT iro.umontreal.ca; spf=Pass smtp.mailfrom=monnier AT iro.umontreal.ca; spf=None smtp.helo=postmaster AT mailscanner.iro.umontreal.ca
  • Ironport-phdr: 9a23:O82UXx0bCv3IA8/bsmDT+DRfVm0co7zxezQtwd8ZsegUL/ad9pjvdHbS+e9qxAeQG96Eu7QZ06L/iOPJZy8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL3WbmHC57CYTFxPjLkI1Y72tQs+Bx/iwgtyy/IfIfwhOzBO5fb50LxSspgWZ4vUWhpF5Nqs3jDLNvnZOeOVMzmNAI1WPgxf66ce5+dhq+GJNuKRy2dRHVPDBY6k2RLoQKTMgNWE4/oW/sB7FSwqC/FMdSGJQjx9PBRTf4Rj+GJz45Hip/tFh0TWXaJWlBYs/Xi6vuuIyEEex1XU3cgUh+WSSsfReyaJWpBX6/056yo/Qe4qcMvxzZOXcZ9RcWG9GWNpLWiVFRIi1PdNWXrgxeN1Apoy4nGMg6B63BA2iHuTqk28ah2Xxm7A/1OI9CwzP2EorFoBX6SiGnJDOLK4XFNuN4uzQ1zyaP6FXwzC79Y3PdAw7rPiIG7l5I5Lc

> I think it should be possible to have both features, that is simulate
> definitional proof-irrelevance which is basically "extensional" type theory
> on the set level via a powerful tactic but don't put this into the
> foundations of the proof system.

I'm not sure how that can work.

IIUC you're suggesting to distinguish the proof-relevant equality `Eq(T) A B`
from the proof-irrelevant equality `isSet T ∧ Eq(T) A B`, and
then arrange for tactics to automatically provide the `isSet T` proof.

Personally, I'm not so much interested in proof-irrelevance as I'm
interested in erasing proofs, and the above doesn't seem able to
distinguish a proof that `α` is *equal* to `Nat` from one where `α` is
*equivalent* to `Nat` (where *equal* means that an object of
type `F α` can be cast at no runtime cost to type `F Nat` where
*equivalent* means that such a conversion can be made for all `F` but
it's not guaranteed to be a no-op).


Stefan




Archive powered by MHonArc 2.6.18.

Top of Page