(** Subtraction *)

(* Specifications: *)
Lemma is_lim_seq_minus (u v : nat -> R) (l1 l2 l : Rbar) :
is_lim_seq u l1 -> is_lim_seq v l2 ->
is_Rbar_minus l1 l2 l ->
is_lim_seq (fun n => u n - v n) l.
Lemma is_lim_seq_minus' (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_minus (u v : nat -> R) :
ex_lim_seq u -> ex_lim_seq v ->
ex_Rbar_minus (Lim_seq u) (Lim_seq v) ->
ex_lim_seq (fun n => u n - v n).
Lemma Lim_seq_minus (u v : nat -> R) :
ex_lim_seq u -> ex_lim_seq v ->
ex_Rbar_minus (Lim_seq u) (Lim_seq v) ->
Lim_seq (fun n => u n - v n) = Rbar_minus (Lim_seq u) (Lim_seq v).
Lemma Riemann_integrable_minus : 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_minus : 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_minus (f g : R -> R) (x lf lg l : Rbar) :
is_lim f x lf -> is_lim g x lg ->
is_Rbar_minus lf lg l ->
is_lim (fun y => f y - g y) x l.
Lemma is_lim_minus' (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_minus (f g : R -> R) (x : Rbar) :
ex_lim f x -> ex_lim g x ->
ex_Rbar_minus (Lim f x) (Lim g x) ->
ex_lim (fun y => f y - g y) x.
Lemma Lim_minus (f g : R -> R) (x : Rbar) :
ex_lim f x -> ex_lim g x ->
ex_Rbar_minus (Lim f x) (Lim g x) ->
Lim (fun y => f y - g y) x = Rbar_minus (Lim f x) (Lim g x).