intro.
assert (H := DRs_cos t).
assert (H0 := DRs_sin t).
assert (H1 := Rmult_eq_compat_l (- sin (alphas t)) _ _ H).
assert (H2 := Rmult_eq_compat_l (cos (alphas t)) _ _ H0).
replace (Rs t * derive_pt alphas t (cond_D1 alphas t))%R with
(- sin (alphas t) *
(derive_pt Rs t (Rs_derivable t) * cos (alphas t) -
Rs t * sin (alphas t) * derive_pt alphas t (cond_D1 alphas t)) +
cos (alphas t) *
(derive_pt Rs t (Rs_derivable t) * sin (alphas t) +
Rs t * cos (alphas t) * derive_pt alphas t (cond_D1 alphas t)))%R.
replace (vi intr * sin (thetat t - alphas t))%R with
(- sin (alphas t) * (vi intr * cos (thetat t)) +
cos (alphas t) * (vi intr * sin (thetat t)))%R.
apply eq_plus_eq_is_eq; assumption.
rewrite sin_minus; ring.
unfold Rminus in |- *.
repeat rewrite Rmult_plus_distr_l.
replace
(- sin (alphas t) * (derive_pt Rs t (Rs_derivable t) * cos (alphas t)) +
- sin (alphas t) *
- (Rs t * sin (alphas t) * derive_pt alphas t (cond_D1 alphas t)) +
(cos (alphas t) * (derive_pt Rs t (Rs_derivable t) * sin (alphas t)) +
cos (alphas t) *
(Rs t * cos (alphas t) * derive_pt alphas t (cond_D1 alphas t))))%R with
(Rs t * derive_pt alphas t (cond_D1 alphas t) *
(Rsqr (sin (alphas t)) + Rsqr (cos (alphas t))) +
cos (alphas t) * - sin (alphas t) * derive_pt Rs t (Rs_derivable t) +
sin (alphas t) * cos (alphas t) * derive_pt Rs t (Rs_derivable t))%R;
[ idtac | unfold Rsqr in |- *; ring ].
rewrite sin2_cos2; ring.
Qed.

(* Specifications: *)
Lemma fct_der5 :
forall t : R,
derivable_pt (fun y : R => (Rs y * derive_pt alphas y (cond_D1 alphas y))%R)
t.