Program Instance qpUnsized (qp : QProp) : UnsizedChecker (checker qp).

(* Specifications: *)
Lemma semCheckableGenSize: forall (P : Type) {H : Checkable P} (gen: G P) (size : nat), (semCheckableSize gen size) <-> (forall p, semGenSize gen size p -> semCheckableSize p size).
Lemma semCheckableFunSize: forall {A C} {H1 : Show A} `{H2 : Arbitrary A} {H3 : Checkable C} (f : A -> C) (size: nat), semCheckableSize f size <-> forall (a : A), semGenSize arbitrary size a -> semCheckableSize (f a) size.
Lemma semCheckablePolyFunSize: forall {C : Type -> Type} {H : Checkable (C nat)} (f : forall T, C T) (size : nat), (semCheckableSize f size) <-> (semCheckableSize (f nat) size).
Lemma semCheckablePolyFunSetSize: forall {C : Set -> Type} {H : Checkable (C nat)} (f : forall T, C T) (size: nat), (semCheckableSize f size) <-> (semCheckableSize (f nat) size).