proposition: Theorem eval_RInt_gen_zero_contains_bertrand : forall prec deg limit vars hyps alpha beta pf pv cf cv b, (-1 < alpha)%Z -> no_floor_prog pf = true -> eval_RInt_gen_zero_contains prec deg limit hyps (bertrand_zero_interval alpha beta) pf (bertrand_prog alpha beta pf) pv cf cf cv b = true -> eval_hyps hyps vars (contains (I.convert b) (Xreal (RInt_gen (fun t => Prog.eval_real' pf (t :: vars) cf * (powerRZ t alpha * pow (ln t) beta)) (at_right 0) (at_point (Prog.eval_real' pv vars cv))))).
proof: Proof. intros prec deg limit vars hyps alpha beta pf pv cf cv b Halpha Hp H. apply (R.eval_hyps_bnd_correct prec). intros H'. apply I.subset_correct with (2 := H). now apply contains_RInt_gen_zero_bertrand. Qed.
imports: Coq(Reals List ZArith Psatz) Flocq(Zaux) Coquelicot(Coquelicot) Stdlib Coquelicot Xreal Basic Sig Interval Integral Eval Bertrand Tree Prog Reify Refine Interval_helper