proposition: Lemma r_list_pow_rev : forall l, r_list_pow (rev' l) == r_list_pow l.
proof: Proof. assert (forall l lr : list (R * positive), r_list_pow (rev_append l lr) == r_list_pow lr * r_list_pow l) as H. - intros l; induction l as [|a l IHl];intros;simpl;Esimpl. destruct a as [r p];rewrite IHl;Esimpl. rewrite (ARmul_comm ARth (pow_pos rmul r p)). reflexivity. - intros;unfold rev'. rewrite H;simpl;Esimpl. Qed.
imports: Setoid Morphisms BinList BinPos BinNat BinInt Ring_theory