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


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.

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