intros t; elim t; clear t.
intros.
apply Above_Nil.
intros k d l ih_l r ih_r b k0 H.
apply Above_Node.
apply (H k d).
apply Lookup_Equal.
apply ih_l.
intros k1 d0 lookup_l.
apply (H k1 d0).
apply Lookup_Left; assumption.
apply ih_r.
intros k1 d0 lookup_r.
apply (H k1 d0).
apply Lookup_Right; assumption.
Qed.

Lemma lookup_above_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 key k -> is_above r key -> lookup key l data.