Section search_tree_basic_properties.
Variable n : nat.
Variable t1 t2 : nat_tree.
Hypothesis se : search (bin n t1 t2).
(* inversion lemmas *)
(********************)
(**************************)
Hint Resolve search_l: searchtrees.
(***************************)
Hint Resolve search_r: searchtrees.
(***********************)
Hint Resolve maj_l: searchtrees.
(***********************)
Hint Resolve min_r: searchtrees.
(* Exclusion lemmas *)
(*********************************************)
Hint Resolve not_right: searchtrees.
(*********************************************)
Hint Resolve not_left: searchtrees.
(*****************************************************************)
(******************************************************************)
(* A general inversion lemma *)

Lemma search_inv :
forall P : Prop,
(search t1 -> search t2 -> maj n t1 -> min n t2 -> P) -> P.