From QuickChick.RedBlack Require Import redblack testing.

(* Specifications: *)
(* correspondence between the inductive and the executable definitions *)
Lemma has_black_height :
forall t h c, is_redblack' t c h -> black_height_bool t = Some h.
Lemma is_redblack'P :
forall (t : tree) n c,
reflect (is_redblack' t c n)
((black_height_bool t == Some n) && has_no_red_red c t).
(* begin is_redblackP *)
Lemma is_redblackP t : reflect (is_redblack t) (is_redblack_bool t).
(* end is_redblackP *)
(* begin semColor *)
Lemma semColor : semGen genColor <--> [set : color].
(* end semColor *)
Corollary genColor_correctSize': forall s, semGenSize genColor s <--> setT.
Instance genRBTree_heightMonotonic p :
SizeMonotonic (genRBTree_height p).