Fixpoint LL n :=
match n with 0 => nil | S n => LL n ++ [gen' (LL n)] end.
Definition F n :=
gen' (LL n).

(* Specifications: *)
Lemma LL_cum :
cumulative LL.
Lemma F_nel n :
~ F n el LL n.
Lemma F_el n :
F n el LL (S n).
Lemma F_lt n m :
n < m -> F n el LL m.
Lemma F_inj' n m :
F n = F m -> ~ n < m.
Lemma F_inj :
injective F.