[Agda] Irrelevance and propositional equality

Andreas Abel andreas.abel at ifi.lmu.de
Fri Jul 29 21:11:48 CEST 2011


Hi Alan,

Well, for one, any use of trustMe does not destroy the termination 
property, so you should not be able to write programs that make the type 
checker loop (at least the ideal bug-free implementation of Agda ;-)).

Also, your use of trustMe does not endanger consistency, because any 
closed proof of a == b is refl, hence, requiring a to be identical to b. 
  It does not matter that your proof is irrelevant here.  So, there is 
still no closed proof of 1 == 0 possible with your use of trustMe.

So, I think your foot is safe. ;-)

Actually, this looks like a nice combination of experimental features...

Cheers,
Andreas


On 7/20/11 4:23 PM, Alan Jeffrey wrote:
> I'm currently working on some code where life is remarkably easier if I
> make use of a function which promotes irrelevant propositional
> equalities to relevant ones:
>
> ≡-relevant : ∀ {A : Set} {a b : A} → .(a ≡ b) → (a ≡ b)
> ≡-relevant a≡b = trustMe
>
> Of course, life would also be remarkably easier if I were to postulate
> false. Am I shooting myself in the foot here?
>
> A.
>

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

Theoretical Computer Science, University of Munich
Oettingenstr. 67, D-80538 Munich, GERMANY

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


More information about the Agda mailing list