fact: Fixpoint shrinkTree {A} (s : A -> list A) (t : Tree A) : list (Tree A) := match t with | Leaf => [] | Node x l r => [l] ++ [r] ++ map (fun x' => Node x' l r) (s x) ++ map (fun l' => Node x l' r) (shrinkTree s l) ++ map (fun r' => Node x l r') (shrinkTree s r) end.
imports: QuickChick(QuickChick) List ZArith String