(* Program Instance shrinkingUnsized {C A} `{Checkable C} *)
(*         (sh : A -> list A) (x : A) (pf : A -> C)  *)
(*         `{UnsizedChecker (checker (pf x))} : UnsizedChecker (shrinking sh x pf). *)
(* Next Obligation.  *)
(* Abort. *)

Lemma semCover_id {C} `{Checkable C} (b: bool) (n: nat)
(str : String.string) (c : C) :
semChecker (cover b n str c) <-> semCheckable c.