Proof with try tauto.
induction t1;intros.
icase b. induction t2.
icase b. right. repeat intro.
inv H. inv H2.
destruct IHt2_1. destruct IHt2_2.
left. apply LeafNode_Ord;apply Node_Ord...
right. intro. inv H. inv H2...
right. intro. inv H. inv H2...
icase t2. icase b.
specialize ( IHt1_1 (Leaf false)).
specialize ( IHt1_2 (Leaf false)).
destruct IHt1_1. destruct IHt1_2.
left. apply NodeLeaf_Ord;apply Node_Ord...
right. intro. inv H. inv H1...
right. intro. inv H. inv H1...
specialize ( IHt1_1 t2_1). specialize ( IHt1_2 t2_2).
destruct IHt1_1. destruct IHt1_2.
left. apply Node_Ord...
right. intro. inv H...
right. intro. inv H...
Defined.

(* Specifications: *)
(*L0*)
Lemma leq_dec : forall (x y : t), {(x <= y)%ba} + {~ (x <= y)%ba}.
(*L2*)
Lemma height_bot: height bot = 0.
(*L3*)
Lemma height_zero_eq: forall t,
height t = 0 -> {t = top} + {t = bot}.