[TYPES] Erasure and equality proofs

Andreas Abel andreas.abel at ifi.lmu.de
Thu Aug 25 14:03:26 EDT 2016


Hi Stefan,

Alan Jeffrey used Agda's irrelevance and added an axiom that one can 
still substitute with irrelevant equality proof.  He might be able to 
tell you more.

I am also very much interested in the interaction between irrelevance 
and case distinction/recursion and equality, so if you get some answers, 
please keep me in the loop!

Best,
Andreas

On 25.08.2016 06:40, Stefan Monnier wrote:
> [ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]
>
> I'm trying to get my head around the practical use of
> erasure/irrelevant/implicit arguments, as discussed in papers such as
>
>     The Implicit Calculus of Constructions as a Programming Language
>     with Dependent Types
>     Bruno Barras and Bruno Bernardo, fossacs08
>
>     Erasure and polymorphism in pure type systems
>     Nathan Mishra-Linger and Tim Sheard
>
>     On the strength of proof-irrelevant type theories
>     Benjamin Werner, IJCAR06
>
> One of the desired benefits is to erase equality proofs, but those can't
> be erased naively, since they're not only used in type annotations but
> they're fundamentally passed to the corresponding elimination function
> (or "match" expression).  Eliminating them naively could introduce
> inconsistencies (if we remove them in those cases where the equality
> proposition is actually an uninhabited type).
>
> Benjamin suggests we can erase those equality proofs under one
> condition: if the elimination rule is adjusted so that it checks
> equality before performing the reduction.
> But this, in turn requires that the 2 equal terms are not erasable.
>
> Bruno Barras et al. suggests other restrictions: basically he suggests
> to add a new elimination "eq_ind2" with all args erasable but without
> reduction rule (i.e. as a mere axiom).
>
> So I'm looking for some further info/work on actual uses of such
> systems, where the practical impact of such restrictions are
> investigated.  I'm especially interested in this, because I have the
> impression (just gut feeling) that equality is not really special in
> this respect and that many/most other places where proofs are passed end
> up needing special treatment as well in order for those proofs to
> be erasable.
>
> IOW while I see that erasable arguments work fine for System-F style
> parametric type arguments, most of the times when I try to make
> a proof "erasable", I end up bumping into some place in the code where
> I need the proof to appear in a non-erasable part of the code (unless
> I add ad-hoc special rules along the lines suggested above for the
> equality type).
>
> I get the impression that we'd need erasability to be extended along the
> lines of Coq's special treatment of single-constructor elimination from
> Prop to Set, but such an extension doesn't seem to be consistent with
> the use of "convertibility modulo erasure".
>
>
>         Stefan
>


-- 
Andreas Abel  <><      Du bist der geliebte Mensch.

Department of Computer Science and Engineering
Chalmers and Gothenburg University, Sweden

andreas.abel at gu.se
http://www2.tcs.ifi.lmu.de/~abel/


More information about the Types-list mailing list