(** Definition *)

Inductive CPermutation : list A -> list A -> Prop :=
| cperm : forall l1 l2, CPermutation (l1 ++ l2) (l2 ++ l1).(** Definition *)

Inductive CPermutation : list A -> list A -> Prop :=
| cperm : forall l1 l2, CPermutation (l1 ++ l2) (l2 ++ l1).Instance CPermutation_Permutation : Proper (CPermutation ==> (@Permutation A)) id.

Theorem CPermutation_nil_cons : forall l a, ~ CPermutation [] (a :: l).