[Agda-dev] The great resurrection of Prop

Andreas Abel abela at chalmers.se
Fri Feb 23 08:50:43 CET 2018


Hi Jesper,

thanks for the heads up from Nantes!  I'd be excited by such an extension!

 > this is a problem not limited to Prop (I remember it also being a
 > problem for sized types and for my failed attempt at implementing
 > --omega-in-omega at the Agda meeting)

Indeed, the sort handling would need a makeover, to properly host sorts 
beyond the linear order of Set_i.  Also sort metas are needed, and 
conversion checking could be blocked on a sort meta.

 > Once this issue is solved, we could consider having Prop in Agda instead
 > of (or in addition to) the current irrelevant function spaces. In
 > particular, this would allow us to have irrelevant return types and to
 > quantify over all irrelevant types. Let me know what you think!

It makes perfectly sense to me to have a universe Prop of squashed types 
in addition to squashing types in function type domains.
However, wouldn't we need a hierarchy of Prop universes?

Cheers,
Andreas

On 22.02.2018 20:26, Jesper Cockx wrote:
> Hi Agda developers,
> 
> This week I was visiting the Coq people in Nantes who are working on 
> adding a new sort sProp of definitionally proof irrelevant propositions 
> to Coq. Just for fun, I tried to see how easy it would be to add 
> something similar to Agda. As it turns out, there was still some 
> (unused) legacy code for Prop laying about, and making it do something 
> sensible was surprisingly straightforward. I'm sure the result is still 
> a buggy mess, but if you want to try it out, you can find the code at:
> 
> https://github.com/jespercockx/agda/tree/prop-rezz
> 
> and a short demo file of what's possible at:
> 
> https://gist.github.com/jespercockx/d7e0885f2078e0c0a54de99117226ac4
> 
> One known issue is that sometimes Agda chooses to instantiate a sort to 
> Prop too eagerly, so you may have to be more explicit than usual in 
> giving the types of arguments. In particular, you have to write `{a : 
> Level}` rather than `∀ {a}` when writing universe-polymorphic code. The 
> reason for this is that Agda still doesn't have proper sort metas, but 
> this is a problem not limited to Prop (I remember it also being a 
> problem for sized types and for my failed attempt at implementing 
> --omega-in-omega at the Agda meeting).
> 
> Once this issue is solved, we could consider having Prop in Agda instead 
> of (or in addition to) the current irrelevant function spaces. In 
> particular, this would allow us to have irrelevant return types and to 
> quantify over all irrelevant types. Let me know what you think!
> 
> Cheers,
> Jesper
> 
> 
> _______________________________________________
> Agda-dev mailing list
> Agda-dev at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda-dev
> 

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

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

andreas.abel at gu.se
http://www.cse.chalmers.se/~abela/


More information about the Agda-dev mailing list