induction t; intuition; simpl in *.
destruct o.
simpl.
unfold indicator.
unfold sumList.
case_eq (P a); intuition.
simpl.
intuition.
simpl.
destruct (eqd a a); intuition; subst.
rewrite <- ratAdd_0_l.
intuition.
unfold sumList.
simpl.
intuition.
rewrite sumList_sum.
unfold getTreeSupport.
simpl.
eapply ratAdd_eqRat_compat.
rewrite sumList_factor_constant_r.
rewrite <- sumList_subset'.
rewrite IHt1.
eapply ratMult_comm.
trivial.
eapply filter_NoDup.
eapply getUnique_NoDup.
eapply filter_NoDup.
eapply getUnique_NoDup.
intuition.
eapply filter_In; intuition.
eapply in_getUnique.
eapply in_or_app.
left.
eapply in_getUnique_if.
eapply filter_In.
eauto.
apply filter_In in H.
intuition.
intuition.
eapply getTreeSupport_approx_0.
intuition.
eapply H0.
eapply filter_In.
intuition.
apply filter_In in H.
intuition.
rewrite sumList_factor_constant_r.
rewrite <- sumList_subset'.
rewrite IHt2.
eapply ratMult_comm.
trivial.
eapply filter_NoDup.
eapply getUnique_NoDup.
eapply filter_NoDup.
eapply getUnique_NoDup.
intuition.
eapply filter_In; intuition.
eapply in_getUnique.
eapply in_or_app.
right.
eapply in_getUnique_if.
eapply filter_In.
eauto.
apply filter_In in H.
intuition.
intuition.
eapply getTreeSupport_approx_0.
intuition.
eapply H0.
eapply filter_In.
intuition.
apply filter_In in H.
intuition.
Qed.

(* Specifications: *)
Lemma lowDistApprox_val_eq : forall (A : Set)(c : Comp A) a n r1 r2,
lowDistApprox c a n r1 ->
r1 == r2 ->
lowDistApprox c a n r2.