Section bla.

Lemma leUpToC_finCases X (Y:finType) Z__case (cases : forall (y:Y), Z__case y -> X) (f F : X -> nat) :
(forall x, exists y (z : Z__case y), cases y z = x)
-> (forall y, (fun z => f (cases y z)) <=c (fun z => F (cases y z)))
-> f <=c F.