Home

同一視型

module foundations.identity-type where

open import foundations.universe

private variable  : Level

同一視型を定義する。

data Id (A : Type ) (x : A) : A  Type  where
  refl : Id A x x

この型の除去規則は次のように与えられる。

private variable A : Type 

J :  {a : A} (P : (y : A)  Id A a y  Type )
   P a refl
   {x : A}
   (p : Id A a x)
   P x p
J P base refl = base

ちなみに、Jの型に現れるAの型に現れるは別物である。

また、Aが文脈から明らかであるときは、次のような記法を使う。

_=_ :  {A : Type }  A  A  Type 
x  y = Id _ x y

Agdaでは半角の=は定義の構文として利用されるため、ここでは全角の等号を使った。