Definition Injective {A B} (f : A->B) :=
forall x y, f x = f y -> x = y.

(* Specifications: *)
Lemma size_induction_dep L (X : L -> Type) (f : forall l, X l -> nat) (p : forall l, X l -> Type) :
(forall l x, (forall l' y, f l' y < f l x -> p l' y) -> p l x) ->
forall l x, p l x.