(* == Tri par insertion *)
Fixpoint ins (n : nat) (l : list nat) {struct l} :
list nat :=
match l with
| Nil => Cons nat n (Nil nat)
| Cons m x =>
si (list nat) (inf_egal n m) (Cons nat n (Cons nat m x))
(Cons nat m (ins n x))
end.

Lemma ins_eq1 : forall n : nat, ins n (Nil nat) = Cons nat n (Nil nat).