intros k d l r b d' avl_t.
apply Node_Is_Avl.
apply (inv_is_avl_left k d l r b avl_t).
apply (inv_is_avl_right k d l r b avl_t).
apply (inv_is_avl_is_balanced_avl k d l r b avl_t).
apply (inv_is_avl_is_is_below_avl k d l r b avl_t).
apply (inv_is_avl_is_is_above_avl k d l r b avl_t).
Qed.

(* Specifications: *)
Lemma equiv_ins_eq :
forall (key : Int) (update : B -> B) (init : B) (k : Int)
(d : B) (l0 r0 : avl_tree) (b : bal),
is_avl (Avl_Node k d l0 r0 b) ->
Equal key k ->
equiv_ins key update init (Avl_Node k d l0 r0 b)
(Avl_Node k (update d) l0 r0 b).