proposition: Lemma Rseq_equiv_big_O_compat_l : forall Un Vn Wn, Un ~ Vn -> Un = O(Wn) -> Vn = O(Wn).
proof: Proof. intros Un Vn Wn He HO. destruct HO as [M [HM [NO HNO]]]. destruct (He 1) as [Ne HNe]; [lra|]. exists (2 * M)%R; split; [lra|]. exists (Nat.max Ne NO); intros n Hn. replace (Vn n) with (Vn n - Un n + Un n)%R by field. eapply Rle_trans; [apply Rabs_triang|]. change 2 with (1 + 1)%R. rewrite Rmult_assoc; rewrite Rmult_plus_distr_r. apply Rplus_le_compat; rewrite Rmult_1_l. rewrite Rabs_minus_sym. eapply Rle_trans. apply HNe; eapply Nat.le_trans; [apply Nat.le_max_l|eexact Hn]. rewrite Rmult_1_l. apply HNO; eapply Nat.le_trans; [apply Nat.le_max_r|eexact Hn]. apply HNO; eapply Nat.le_trans; [apply Nat.le_max_r|eexact Hn]. Qed.
imports: PeanoNat Reals Setoid Morphisms Rsequence_def Rsequence_base_facts Rsequence_cv_facts Lra