Definition primitive (f:R -> R) (a b:R) (h:a <= b)
(pr:forall x:R, a <= x -> x <= b -> Riemann_integrable f a x)
(x:R) : R :=
match Rle_dec a x with
| left r =>
match Rle_dec x b with
| left r0 => RiemannInt (pr x r r0)
| right _ => f b * (x - b) + RiemannInt (pr b h (Rle_refl b))
end
| right _ => f a * (x - a)
end.

(* Specifications: *)
Lemma RiemannInt_P20 :
forall (f:R -> R) (a b:R) (h:a <= b)
(pr:forall x:R, a <= x -> x <= b -> Riemann_integrable f a x)
(pr0:Riemann_integrable f a b),
RiemannInt pr0 = primitive h pr b - primitive h pr a.
Lemma RiemannInt_P21 :
forall (f:R -> R) (a b c:R),
a <= b ->
b <= c ->
Riemann_integrable f a b ->
Riemann_integrable f b c -> Riemann_integrable f a c.
Lemma RiemannInt_P22 :
forall (f:R -> R) (a b c:R),
Riemann_integrable f a b -> a <= c <= b -> Riemann_integrable f a c.
Lemma RiemannInt_P23 :
forall (f:R -> R) (a b c:R),
Riemann_integrable f a b -> a <= c <= b -> Riemann_integrable f c b.
Lemma RiemannInt_P24 :
forall (f:R -> R) (a b c:R),
Riemann_integrable f a b ->
Riemann_integrable f b c -> Riemann_integrable f a c.
Lemma RiemannInt_P25 :
forall (f:R -> R) (a b c:R) (pr1:Riemann_integrable f a b)
(pr2:Riemann_integrable f b c) (pr3:Riemann_integrable f a c),
a <= b -> b <= c -> RiemannInt pr1 + RiemannInt pr2 = RiemannInt pr3.
Lemma RiemannInt_P26 :
forall (f:R -> R) (a b c:R) (pr1:Riemann_integrable f a b)
(pr2:Riemann_integrable f b c) (pr3:Riemann_integrable f a c),
RiemannInt pr1 + RiemannInt pr2 = RiemannInt pr3.
Lemma RiemannInt_P27 :
forall (f:R -> R) (a b x:R) (h:a <= b)
(C0:forall x:R, a <= x <= b -> continuity_pt f x),
a < x < b -> derivable_pt_lim (primitive h (FTC_P1 h C0)) x (f x).
Lemma RiemannInt_P28 :
forall (f:R -> R) (a b x:R) (h:a <= b)
(C0:forall x:R, a <= x <= b -> continuity_pt f x),
a <= x <= b -> derivable_pt_lim (primitive h (FTC_P1 h C0)) x (f x).
Lemma RiemannInt_P29 :
forall (f:R -> R) a b (h:a <= b)
(C0:forall x:R, a <= x <= b -> continuity_pt f x),
antiderivative f (primitive h (FTC_P1 h C0)) a b.
Lemma RiemannInt_P30 :
forall (f:R -> R) (a b:R),
a <= b ->
(forall x:R, a <= x <= b -> continuity_pt f x) ->
{ g:R -> R | antiderivative f g a b }.