Section rincl_fin.
(* Strict reverse inclusion between lists is well founded over a finite domain *)
(* M the upper-bound/finiteness of the domain *)
Variable (X : Type) (M : list X).
(* l cap M strictly contains in m cap M *)
Definition rincl_fin l m := (forall x, In x m -> In x M -> In x l)
/\ exists x, ~ In x m /\ In x l /\ In x M.
(* Any n-chain m ~~> l contains a duplication-free subset of M of size n *)
(* Hence, by the PHP, if there is a n-chain to l then n is less than length M *)

Theorem wf_rincl_fin : well_founded rincl_fin.