(**********)
Definition tan (x:R) : R := sin x / cos x.

(* Specifications: *)
Lemma tan_plus : forall x y:R, cos x <> 0 -> cos y <> 0 -> cos (x + y) <> 0 -> 1 - tan x * tan y <> 0 -> tan (x + y) = (tan x + tan y) / (1 - tan x * tan y).
Lemma sin_2a : forall x:R, sin (2 * x) = 2 * sin x * cos x.
Lemma cos_2a : forall x:R, cos (2 * x) = cos x * cos x - sin x * sin x.
Lemma cos_2a_cos : forall x:R, cos (2 * x) = 2 * cos x * cos x - 1.
Lemma cos_2a_sin : forall x:R, cos (2 * x) = 1 - 2 * sin x * sin x.
Lemma tan_2a : forall x:R, cos x <> 0 -> cos (2 * x) <> 0 -> 1 - tan x * tan x <> 0 -> tan (2 * x) = 2 * tan x / (1 - tan x * tan x).
Lemma sin_neg : forall x:R, sin (- x) = - sin x.
Lemma cos_neg : forall x:R, cos (- x) = cos x.
Lemma tan_0 : tan 0 = 0.
Lemma tan_neg : forall x:R, tan (- x) = - tan x.
Lemma tan_minus : forall x y:R, cos x <> 0 -> cos y <> 0 -> cos (x - y) <> 0 -> 1 + tan x * tan y <> 0 -> tan (x - y) = (tan x - tan y) / (1 + tan x * tan y).
Lemma cos_3PI2 : cos (3 * (PI / 2)) = 0.
Lemma sin_2PI : sin (2 * PI) = 0.
Lemma cos_2PI : cos (2 * PI) = 1.
Lemma neg_sin : forall x:R, sin (x + PI) = - sin x.
Lemma sin_PI_x : forall x:R, sin (PI - x) = sin x.
Lemma sin_period : forall (x:R) (k:nat), sin (x + 2 * INR k * PI) = sin x.
Lemma cos_period : forall (x:R) (k:nat), cos (x + 2 * INR k * PI) = cos x.
Lemma sin_shift : forall x:R, sin (PI / 2 - x) = cos x.
Lemma cos_shift : forall x:R, cos (PI / 2 - x) = sin x.
Lemma cos_sin : forall x:R, cos x = sin (PI / 2 + x).
Lemma PI2_RGT_0 : 0 < PI / 2.
Lemma SIN_bound : forall x:R, -1 <= sin x <= 1.
Lemma COS_bound : forall x:R, -1 <= cos x <= 1.
Lemma cos_sin_0 : forall x:R, ~ (cos x = 0 /\ sin x = 0).
Lemma cos_sin_0_var : forall x:R, cos x <> 0 \/ sin x <> 0.