assert (int' : 0 < PI2 < 2). {
destruct pi2_int; split; lra.
}
assert (lo2 := sin_pos_tech PI2 int').
assert (t2 : Rabs (sin PI2) = 1). {
rewrite <- Rabs_R1; apply Rsqr_eq_abs_0.
rewrite Rsqr_1, sin2, cos_pi2, Rsqr_0, Rminus_0_r; reflexivity.
}
revert t2; rewrite Rabs_pos_eq;[| apply Rlt_le]; tauto.
Qed.

(* Specifications: *)
Lemma PI_RGT_0 : PI > 0.
(**********)
Lemma cos_PI : cos PI = -1.
Lemma sin_PI : sin PI = 0.
Lemma sin_bound : forall (a : R) (n : nat), 0 <= a -> a <= PI ->
sin_approx a (2 * n + 1) <= sin a <= sin_approx a (2 * (n + 1)).
Lemma cos_bound : forall (a : R) (n : nat), - PI / 2 <= a -> a <= PI / 2 ->
cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1)).
(**********)
Lemma neg_cos : forall x:R, cos (x + PI) = - cos x.
(**********)
Lemma sin_cos : forall x:R, sin x = - cos (PI / 2 + x).
(**********)
Lemma sin_plus : forall x y:R, sin (x + y) = sin x * cos y + cos x * sin y.
Lemma sin_minus : forall x y:R, sin (x - y) = sin x * cos y - cos x * sin y.
Definition tan (x:R) : R := sin x / cos x.