Section Functor_eq_simplification.
Context {C C' : Category} (F G : (C –≻ C')%functor).

(** Fucntor extensionality: two functors are equal of their object maps are equal and their arrow maps are extensionally equal. *)
Lemma Functor_extensionality (Oeq : F _o = G _o) :
(
∀ (a b : Obj) (h : (a –≻ b)%morphism),
(
fun x y =>
match Oeq in _ = V return
((x –≻ y) → ((V x) –≻ (V y)))%morphism
with
eq_refl => F  @_a x y
end
) _ _ h = G _a h
) → F = G.