Definition Riemann_fine (a b : R) :=
within (fun ptd => pointed_subdiv ptd /\ SF_h ptd = Rmin a b /\ last (SF_h ptd) (SF_lx ptd) = Rmax a b)
(locally_dist (fun ptd => seq_step (SF_lx ptd))).
Global Instance Riemann_fine_filter :
forall a b, ProperFilter (Riemann_fine a b).
(** * Riemann sums *)
(** Riemann_sum *)
Section Riemann_sum.
Context {V : ModuleSpace R_Ring}.
Definition Riemann_sum (f : R -> V) (ptd : SF_seq) : V :=
foldr plus zero (pairmap (fun x y => (scal (fst y - fst x) (f (snd y)))) (SF_h ptd,zero) (SF_t ptd)).

Lemma Riemann_sum_zero (f : R -> V) ptd :
SF_sorted Rle ptd ->
SF_h ptd = last (SF_h ptd) (SF_lx ptd) ->
Riemann_sum f ptd = zero.