proposition: Lemma top_reducts_correct : forall t u R, In u (top_reducts R t) -> hd_red R t u.
proof: Proof. induction R; simpl. contr. assert (h : List.incl R (a::R)). unfold List.incl. simpl. auto. case_eq (top_reduct t a); intros t0 H. intro H0. simpl in H0. split_all. subst. eapply top_reduct_correct with (lr := a). simpl. auto. hyp. eapply incl_elim. apply hd_red_incl with (x := R). hyp. tauto. eapply incl_elim. apply hd_red_incl with (x := R). hyp. tauto. Qed.
imports: CoLoR(LogicUtil ATrs RelUtil ListUtil VecUtil AMatching NatUtil)