Section equalizer_limit_def.
Variables (C : Category) (a b : C) (I : Type) (k : I -> (a --> b)).
Definition FPA_ob (x : PA k) := match x with
| PA1 => a
| PA2 => b
end.
Definition FPA_mor (x y : PA k) (f : x --> y) :=
match f in (PA_mor _ x' y') return (Carrier (FPA_ob x' --> FPA_ob y')) with
| PA_I1 => Id a
| PA_I2 => Id b
| PA_f i => k i
end.
Canonical Structure FPA_map (x y : PA k) :=
Build_Map (FPA_map_law (x:=x) (y:=y)).

Lemma FPA_comp_law : Fcomp_law FPA_map.