intros key k d l r b data lookup_t less above_r.
elim (inv_lookup key k d l r b data lookup_t); clear lookup_t; intro u0.
elimtype False.
elim u0; clear u0; intros u0 u1.
apply less_irrefl with key.
rewrite u0 in less.
assumption.
elim u0; clear u0; intro u0.
assumption.
elimtype False.
apply less_irrefl with key.
apply lookup_above_greater with r data; assumption.
Qed.

(* Specifications: *)
Lemma lookup_below_lookup :
forall (key k : Int) (d : B) (l r : avl_tree) (b : bal) (data : B),
lookup key (Avl_Node k d l r b) data ->
Less k key -> is_below l key -> lookup key r data.