Home

Propositional truncation

module foundations.propositional-truncation where
Imports
open import foundations.universe
open import foundations.identity-type
open import foundations.proposition

Propositional truncationは素のAgdaでは構成できないので、その型のみを定義する。

private variable
   : Level
  A : Type 

record PropTrunc : Typeω where
  field
    ∥_∥ : Type   Type 
    isProp∥∥ : isProp  A 
    ∣_∣ : A   A 
    rec :  {P : Type }  isProp P  (A  P)   A   P

  β :  (P : Type ) (isPropP : isProp P) (x : A) (f : A  P)
     rec isPropP f  x   f x
  β P isPropP x f = isPropP _ (f x)

βがjudgmental equalityではないので、これはweak propositional truncationとも呼ばれる。