[001Q]の他にも同値の概念の定義はある。
iを階数、A,B:U(i)を型、f:A→Bを関数とする。
- -型LInv(f):U(i)をRecord{∣inv:B→A,is-linv:inv∘f∼id∣}と定義する。
- -型RInv(f):U(i)をRecord{∣inv:B→A,is-rinv:f∘inv∼id∣}と定義する。
- -型IsBiinv(f):U(i)をRecord{∣linv:LInv(f),rinv:RInv(f)∣}と定義する。
IsBiinv(f)の要素がある時、
fは
両側可逆(biinvertible)であると言う。
iを階数、A,B:U(i)を型、f:A→Bを関数とする。型IsEquiv(f)とIsBiinv(f)は論理的に同値である。
[004J]の利点は比較的低級な概念で定義できる点である。この定義で使われている概念は恒等関数、合成、ホモトピーだけである。これらの概念は一般の高次圏で意味をなすものであり、実際、高次圏での同値は両側可逆性で定義できる。一方、ファイバーや可縮性には型理論の言語が本質的に使われている。ただ、[004J]から直接取り出せる情報はそれほど有益でなく、逆関数の取り方も二種類あるので使い勝手が良いとは言えない。
iを階数、A,B:U(i)を型、f:A→Bを関数とする。型IsHAE(f):U(i)を次のレコード型と定義する。
- -inv:B→A
- -unit:inv∘f∼id
- -counit:f∘inv∼id
- -coh:∏x:Af(unit(x))=counit(f(x))
IsHAE(f)の要素がある時、
fは
半随伴同値(half adjoint equivalence)であると言う。
iを階数、A,B:U(i)を型、f:A→Bを関数とする。型IsEquiv(f)とIsHAE(f)は論理的に同値であることを示せ。(ヒント:[002H]の証明を拡張すればIsEquiv(f)→IsHAE(f)を示せる。)
[004L]は[004J]と比べて有益な情報が多い。その分、その定義には一つ高次の同一視(coh)を使う。
次の[004T]も同値の概念を定義しているように見えるかもしれないが、これは正しい同値の定義ではない。
iを階数、A,B:U(i)を型、f:A→Bを関数とする。型QInv(f):U(i)を次のレコード型と定義する。
- -inv:B→A
- -unit:inv∘f∼id
- -counit:f∘inv∼id
iを階数、A,B:U(i)を型、f:A→Bを関数とする。型IsEquiv(f)とQInv(f)は論理的に同値である。
IsHAE(f)→QInv(f)とQInv(f)→IsBiinv(f)は容易に示せるので、[004K]と[004M]を使う。
[004U]により、関数fが同値であることを示す目的ではQInv(f)を使って何も問題はない。QInv(f)が他に挙げた正しい同値の概念と決定的に違うのは、同一でない二つのQInv(f)の要素がありうる点である。後に示すが、(関数外延性の下で)IsEquiv(f)とIsBiinv(f)とIsHAE(f)はいずれも任意の二つの要素が同一視される([0044]と[004O]と[004R])。QInv(f)についてはこの性質は示せないどころか、一価性公理の下でQInv(f)が同一でない二つの要素を持つようなfを構成できることが知られている。