(** * Empty map *)

(* Specifications: *)
Lemma empty_avl : avl (empty elt).
(** * Helper functions *)
Lemma create_avl :
forall l x e r, avl l -> avl r ->  -(2) <= height l - height r <= 2 ->
avl (create l x e r).
Lemma create_height :
forall l x e r, avl l -> avl r ->  -(2) <= height l - height r <= 2 ->
height (create l x e r) = max (height l) (height r) + 1.
Lemma bal_avl : forall l x e r, avl l -> avl r ->
-(3) <= height l - height r <= 3 -> avl (bal l x e r).
Lemma bal_height_1 : forall l x e r, avl l -> avl r ->
-(3) <= height l - height r <= 3 ->
0 <= height (bal l x e r) - max (height l) (height r) <= 1.
Lemma bal_height_2 :
forall l x e r, avl l -> avl r -> -(2) <= height l - height r <= 2 ->
height (bal l x e r) == max (height l) (height r) +1.