Instance ArbNatGenCorrect : Correct nat arbitrary.

Lemma arbOpt_correct:
forall {A} `{H : Arbitrary A} (P : nat -> A -> Prop) s,
(semGenSize arbitrary s <--> P s) ->
(semGenSize arbitrary s <-->
(fun (m : option A) =>
match m with
| None => true
| Some x => P s x
end)).