(* Testing a regression of unification in 8.5 in problems of the form "match ?y with ... end = ?x args" *)
(**********************************************************************)
Tactic Notation "admit" := case proof_admitted.
Require Export Coq.Classes.Morphisms.
Global Set Implicit Arguments.
Definition list_caset A (P : list A -> Type) (N : P nil) (C : forall x xs, P (x::xs))
ls
: P ls
:= match ls with
| nil => N
| x::xs => C x xs
end.

Axiom list_caset_Proper'
: forall {A P},
Proper (eq
==> pointwise_relation _ (pointwise_relation _ eq)
==> eq
==> eq)
(@list_caset A (fun _ => P)).