proposition: Lemma derive_pt_recip_interv_decr : forall (f g:R->R) (lb ub x:R) (lb_lt_ub:lb < ub) (x_encad:f ub < x < f lb) (f_decr:forall x y : R, lb <= x -> x < y -> y <= ub -> f y < f x) (g_wf:forall x : R, f ub <= x -> x <= f lb -> lb <= g x <= ub) (Prf:forall a : R, lb <= a <= ub -> derivable_pt f a) (f_eq_g:forall x, f ub <= x -> x <= f lb -> (comp f g) x = id x) (Df_neq:derive_pt f (g x) (derivable_pt_recip_interv_prelim1_decr f g lb ub x lb_lt_ub x_encad g_wf Prf) <> 0), derive_pt g x (derivable_pt_recip_interv_decr f g lb ub x lb_lt_ub x_encad f_eq_g g_wf f_decr Prf Df_neq) = 1 / (derive_pt f (g x) (Prf (g x) (derive_pt_recip_interv_prelim1_1_decr f g lb ub x lb_lt_ub x_encad f_decr g_wf f_eq_g))).
proof: Proof. intros. epose proof (derive_pt_recip_interv (mirr_fct f) (opp_fct g) (-ub) (-lb) (x) _ _ _ _ _ _ _). rewrite derive_pt_mirr_rev in H. rewrite derive_pt_opp_rev in H. unfold opp_fct in H. match goal with | H:context[derive_pt ?f ?x1 ?pr1] |- context[derive_pt ?f ?x2 ?pr2] => rewrite (pr_nu_xeq f x1 x2 pr1 pr2 (Ropp_involutive x2)) in H end. match goal with | H:context[derive_pt ?f ?x ?pr1] |- context[derive_pt ?f ?x ?pr2] => rewrite (pr_nu f x pr1 pr2) in H end. apply Ropp_eq_compat in H; rewrite Ropp_involutive in H. rewrite H; field. pose proof Df_neq as Df_neq'. match goal with | H:context[derive_pt ?f ?x ?pr1] |- context[derive_pt ?f ?x ?pr2] => rewrite (pr_nu f x pr1 pr2) in H end. assumption. Unshelve. - abstract lra. - unfold mirr_fct; repeat rewrite Ropp_involutive; abstract lra. - intros x0 y0 H1 H2 H3. unfold mirr_fct. apply f_decr; abstract lra. - intros x0 H1 H2. unfold mirr_fct in H1,H2; unfold opp_fct. rewrite Ropp_involutive in H1,H2. pose proof g_wf x0 as g_wfs; abstract lra. - intros x0 H1. apply derivable_pt_mirr, Prf; abstract lra. - intros x0 H1 H2. unfold mirr_fct in H1,H2 |-*; unfold opp_fct, comp. rewrite Ropp_involutive in H1,H2 |-*. apply f_eq_g; abstract lra. - unshelve erewrite (pr_nu _ _ _). { apply derivable_pt_mirr. unfold opp_fct; rewrite Ropp_involutive. apply Prf; apply g_wf; abstract lra. } rewrite derive_pt_mirr. unfold opp_fct; rewrite Ropp_involutive. apply Ropp_neq_0_compat. erewrite (pr_nu _ _ _). apply Df_neq. Qed.
imports: Rbase Ranalysis_reg Rfunctions Rseries RiemannInt SeqProp Lia Lra