(** Addition *)

(* Specifications: *)
Lemma filterlim_Rbar_plus :
forall x y z,
is_Rbar_plus x y z ->
filterlim (fun z => fst z + snd z) (filter_prod (Rbar_locally x) (Rbar_locally y)) (Rbar_locally z).
Lemma is_lim_seq_plus (u v : nat -> R) (l1 l2 l : Rbar) :
is_lim_seq u l1 -> is_lim_seq v l2 ->
is_Rbar_plus l1 l2 l ->
is_lim_seq (fun n => u n + v n) l.
Lemma is_lim_seq_plus' (u v : nat -> R) (l1 l2 : R) :
is_lim_seq u l1 -> is_lim_seq v l2 ->
is_lim_seq (fun n => u n + v n) (l1 + l2).
Lemma ex_lim_seq_plus (u v : nat -> R) :
ex_lim_seq u -> ex_lim_seq v ->
ex_Rbar_plus (Lim_seq u) (Lim_seq v) ->
ex_lim_seq (fun n => u n + v n).
Lemma Lim_seq_plus (u v : nat -> R) :
ex_lim_seq u -> ex_lim_seq v ->
ex_Rbar_plus (Lim_seq u) (Lim_seq v) ->
Lim_seq (fun n => u n + v n) = Rbar_plus (Lim_seq u) (Lim_seq v).
Lemma Riemann_integrable_plus : forall (f g : R -> R) (a b : R),
Riemann_integrable f a b -> Riemann_integrable g a b ->
Riemann_integrable (fun x => f x + g x) a b.
Lemma RiemannInt_plus : forall (f g : R -> R) (a b : R)
(pr_f : Riemann_integrable f a b) (pr_g : Riemann_integrable g a b)
(pr : Riemann_integrable (fun x => f x + g x) a b),
RiemannInt pr = RiemannInt pr_f + RiemannInt pr_g.
Lemma is_lim_plus (f g : R -> R) (x lf lg l : Rbar) :
is_lim f x lf -> is_lim g x lg ->
is_Rbar_plus lf lg l ->
is_lim (fun y => f y + g y) x l.
Lemma is_lim_plus' (f g : R -> R) (x : Rbar) (lf lg : R) :
is_lim f x lf -> is_lim g x lg ->
is_lim (fun y => f y + g y) x (lf + lg).
Lemma ex_lim_plus (f g : R -> R) (x : Rbar) :
ex_lim f x -> ex_lim g x ->
ex_Rbar_plus (Lim f x) (Lim g x) ->
ex_lim (fun y => f y + g y) x.
Lemma Lim_plus (f g : R -> R) (x : Rbar) :
ex_lim f x -> ex_lim g x ->
ex_Rbar_plus (Lim f x) (Lim g x) ->
Lim (fun y => f y + g y) x = Rbar_plus (Lim f x) (Lim g x).