(* Requires input nat to match 0 *)
(* begin good_input_match *)
Inductive goodFooMatch : nat -> Foo -> Prop := 
| GoodMatch : goodFooMatch 0 Foo1.(* Requires input nat to match 0 *)
(* begin good_input_match *)
Inductive goodFooMatch : nat -> Foo -> Prop := 
| GoodMatch : goodFooMatch 0 Foo1.

(* Specifications: *)
Lemma genGoodMatch_equality n : genGoodMatch n = @arbitrarySizeST _ (fun foo => goodFooMatch n foo) _.