intros key update init T0.
elim T0; clear T0.
exact (insert_avl key update init).
Qed.
(***************************************************************************)
Definition LIN_DEL (key : Int) (d : B) (T0 T : AVL) :=
match T0 with
| AVL_intro t0 _ =>
match T with
| AVL_intro t _ => lin_del_spec key d t0 t
end
end.
Definition EQUIV_DEL (key : Int) (T0 T : AVL) :=
match T0 with
| AVL_intro t0 _ => match T with
| AVL_intro t _ => equiv_del key t0 t
end
end.
Definition DELETE_Spec (key : Int) (T0 : AVL) :=
match T0 with
| AVL_intro t0 _ => delete_spec key t0
end.

(* Specifications: *)
Theorem DELETE_AVL : forall (key : Int) (T0 : AVL), DELETE_Spec key T0.
intros key T0.