Set Implicit Arguments.
Unset Strict Implicit.
Notation "x 'el' A" := (In x A) (at level 70).
Notation "A <<= B" := (incl A B) (at level 70).
Notation "| A |" := (length A) (at level 65).
Ltac inv H := inversion H; subst; try clear H.
(* *Some basic things concerning lists *)
Definition is_cons X (l : list X) :=
match l with
| [] => false
| _ => true
end.

Lemma is_cons_true_iff X (l : list X) :
is_cons l = true <-> l <> [].