Timings for Sequence.v
Require Import Diagrams.Graph.
Require Import Diagrams.Diagram.
Local Open Scope nat_scope.
Local Open Scope path_scope.
(** * Sequence *)
(** A Sequence is a sequence of maps from [X(n)] to [X(n+1)]. *)
Definition sequence_graph : Graph.
srapply (Build_Graph nat).
intros n m; exact (S n = m).
Definition Sequence := Diagram sequence_graph.
Definition Build_Sequence
(X : nat -> Type)
(f : forall n, X n -> X n.+1)
: Sequence.
(** A useful lemma to show than two sequences are equivalent. *)
Definition equiv_sequence (D1 D2 : Sequence)
(H0 : (D1 0) <~> (D2 0))
(Hn: forall n (e: (D1 n) <~> (D2 n)),
{e' : (D1 n.+1) <~> (D2 n.+1) & (D2 _f 1) o e == e' o (D1 _f 1)})
: D1 ~d~ D2.
srapply (Build_diagram_equiv (Build_DiagramMap _ _)); intro n; simpl.
simple refine (Hn n.+1 _).2.