Section Inclusion.
Variable X : Type.
Implicit Types A B : list X.

(* Specifications: *)
Lemma incl_nil_eq A :
A <<= nil -> A=nil.
Lemma incl_shift x A B :
A <<= B -> x::A <<= x::B.
Lemma incl_rcons x A B :
A <<= x::B -> ~ x el A -> A <<= B.
Lemma incl_app_left A B C :
A ++ B <<= C -> A <<= C /\ B <<= C.
Lemma incl_nil_eq A :
A <<= nil -> A=nil.
Lemma incl_shift x A B :
A <<= B -> x::A <<= x::B.
Lemma incl_rcons x A B :
A <<= x::B -> ~ x el A -> A <<= B.
Lemma incl_app_left A B C :
A ++ B <<= C -> A <<= C /\ B <<= C.
Lemma incl_nil_eq A :
A <<= nil -> A=nil.
Lemma incl_shift x A B :
A <<= B -> x::A <<= x::B.
Lemma incl_rcons x A B :
A <<= x::B -> ~ x el A -> A <<= B.