Timings for Sigma.v
Require Import Basics.Overture Basics.Tactics.
Require Import WildCat.Core.
(** ** Indexed sum of categories *)
Context (A : Type) (B : A -> Type)
`{forall a, IsGraph (B a)}
`{forall a, Is01Cat (B a)}
`{forall a, Is0Gpd (B a)}.
#[export] Instance isgraph_sigma : IsGraph (sig B).
exact {p : x = y & p # u $-> v}.
#[export] Instance is01cat_sigma : Is01Cat (sig B).
intros [x u] [y v] [z w] [q g] [p f].
#[export] Instance is0gpd_sigma : Is0Gpd (sig B).
intros [x u] [y v] [p f].
Instance is0functor_sigma {A : Type} (B C : A -> Type)
`{forall a, IsGraph (B a)} `{forall a, IsGraph (C a)}
`{forall a, Is01Cat (B a)} `{forall a, Is01Cat (C a)}
(F : forall a, B a -> C a) {ff : forall a, Is0Functor (F a)}
: Is0Functor (fun (x:sig B) => (x.1 ; F x.1 x.2)).
constructor; intros [a1 b1] [a2 b2] [p f]; cbn.