(* Specifications: *)
Theorem EquivDec_refl_left {T : Type} {c : EqDec T (@eq T)} :
forall (n : T), equiv_dec n n = left (refl_equal _).
Lemma wf_anti_sym T (R : T -> T -> Prop) (wf : well_founded R)
: Irreflexive R.
Lemma firstn_app_L : forall T n (a b : list T),
n <= length a ->
firstn n (a ++ b) = firstn n a.
Lemma firstn_app_R : forall T n (a b : list T),
length a <= n ->
firstn n (a ++ b) = a ++ firstn (n - length a) b.
Lemma firstn_all : forall T n (a : list T),
length a <= n ->
firstn n a = a.
Lemma firstn_0 : forall T n (a : list T),
n = 0 ->
firstn n a = nil.
Lemma firstn_cons : forall T n a (b : list T),
0 < n ->
firstn n (a :: b) = a :: firstn (n - 1) b.