関手圏の subobject classifier

C を 任意の(小さな)圏、Sets を集合圏として、SetsC の形をした関手圏の subobject classifier を構成してみる。ネタ元はAlgebra in a Topos(PDF)
subobject classifier Ω は関手圏 SetsC の対象だから関手 Ω: CSets。Ωの対象部分を以下のように定義する:

Ω: CSets
    X ├→ X 上の cosieve 全体のなす集合

cosieve はsieve と cosieve の定義を参照。
Ωの射部分を以下のように定義する:

Ω: CSets
    X ├→ ΩX
    │      │
   f│      │Ωf
    ↓      ↓
    Y ├→ ΩY

Ωf: ΩX  → ΩY
      S ├→ {g: Y→Z | Z∈|C|, f ; g ∈ S}

SetsC の終対象 1 は、全ての対象と射を Sets の 1 と id に移す関手がその性質を満たしている。
t: 1 → Ω は、最大 cosieve を指すものと定義する:

Ω: CSets
               tX
    X       1 ─→ ΩX ∋  max_S
    │      │      │      ┬
   f│    id│      │Ωf   │
    ↓      ↓ tY   ↓      ↓
    Y       1 ─→ ΩY ∋  Ωf(max_S)

Ωf(max_S) が Y 上の最大 cosieve になっていることは明らか。

これで関手圏 SetsC の subobject classifier が構成できた。