proposition: Theorem series_shift_shift : ∀ x y ps, (series_shift x (series_shift y ps) = series_shift (x + y) ps)%ser.
proof: Proof. intros x y ps. constructor; intros i; simpl. destruct (lt_dec i x) as [Hlt| Hge]. destruct (lt_dec i (x + y)) as [| H₂]; [ reflexivity | idtac ]. exfalso; apply H₂. apply Nat.lt_lt_add_r; assumption. destruct (lt_dec (i - x) y) as [H₂| H₂]. destruct (lt_dec i (x + y)) as [| H₃]; [ reflexivity | idtac ]. exfalso; apply H₃. apply Nat.lt_sub_lt_add_l; assumption. rewrite Nat.sub_add_distr. destruct (lt_dec i (x + y)) as [H₃| ]; [ idtac | reflexivity ]. exfalso; apply H₂. apply not_gt in Hge. unfold lt. rewrite <- Nat.sub_succ_l; [ idtac | assumption ]. apply Nat.le_sub_le_add_l. assumption. Qed.
imports: Utf8 QArith NPeano Misc NbarM Field2 Power_series