[Agda] question about a form of irrelevance elimination
Andrew Pitts
Andrew.Pitts at cl.cam.ac.uk
Tue Jul 14 10:48:47 CEST 2015
Since version 2.2.8, Agda supports irrelevancy annotations
(http://wiki.portal.chalmers.se/agda/agda.php?n=ReferenceManual.Irrelevance).
Among other things this allows one to define a form of truncation:
record ! {ℓ : Level}(A : Set ℓ) : Set ℓ where
constructor ![_]
field
.prf : A
open ! public
Since the elements of ! A are definitionally irrelevant, they are also
propositionally irrelevant, i.e. ! A is a proposition in the sense of
Homotopy Type Theory:
isProp : {ℓ : Level}(A : Set ℓ) → Set ℓ
isProp A = (x y : A) → x ≡ y
!isprop : {ℓ : Level}{A : Set ℓ} → isProp (! A)
!isprop _ _ = refl
I would like to be able to escape from an irrelevant context in the
case of propositions:
postulate
!elim : {ℓ : Level}{A : Set ℓ}.(_ : isProp A) → (! A) → A
Does adding such a postulate destroy logical consistency?
Andy Pitts
More information about the Agda
mailing list