(****************************************************************************)

Inductive lookup_dec_spec (key : Int) (t : avl_tree) : Set :=
  | Lookup : forall d : B, lookup key t d -> lookup_dec_spec key t
  | Not_Lookup : (forall d : B, ~ lookup key t d) -> lookup_dec_spec key t.(****************************************************************************)

Inductive lookup_dec_spec (key : Int) (t : avl_tree) : Set :=
  | Lookup : forall d : B, lookup key t d -> lookup_dec_spec key t
  | Not_Lookup : (forall d : B, ~ lookup key t d) -> lookup_dec_spec key t.(****************************************************************************)

Inductive lookup_dec_spec (key : Int) (t : avl_tree) : Set :=
  | Lookup : forall d : B, lookup key t d -> lookup_dec_spec key t
  | Not_Lookup : (forall d : B, ~ lookup key t d) -> lookup_dec_spec key t.

(* Specifications: *)
Lemma lookup_dec : forall (key : Int) (t : avl_tree), is_avl t -> lookup_dec_spec key t.