Library Coq.Reals.Ratan
Tools
Lemma Ropp_div :
forall x y,
-x/y = -(x/y).
Definition pos_half_prf : 0
< /2.
Definition pos_half :=
mkposreal (
/2)
pos_half_prf.
Lemma Boule_half_to_interval :
forall x ,
Boule (
/2)
pos_half x -> 0
<= x <= 1.
Lemma Boule_lt :
forall c r x,
Boule c r x ->
Rabs x < Rabs c + r.
Lemma Un_cv_ext :
forall un vn, (
forall n,
un n = vn n) ->
forall l,
Un_cv un l ->
Un_cv vn l.
Lemma Alt_first_term_bound :
forall f l N n,
Un_decreasing f ->
Un_cv f 0 ->
Un_cv (
sum_f_R0 (
tg_alt f))
l ->
(
N <= n)%
nat ->
R_dist (
sum_f_R0 (
tg_alt f)
n)
l <= f N.
Lemma Alt_CVU :
forall (
f :
nat ->
R ->
R)
g h c r,
(
forall x,
Boule c r x ->
Un_decreasing (
fun n =>
f n x)) ->
(
forall x,
Boule c r x ->
Un_cv (
fun n =>
f n x) 0) ->
(
forall x,
Boule c r x ->
Un_cv (
sum_f_R0 (
tg_alt (
fun i =>
f i x))) (
g x)) ->
(
forall x n,
Boule c r x ->
f n x <= h n) ->
(
Un_cv h 0) ->
CVU (
fun N x =>
sum_f_R0 (
tg_alt (
fun i =>
f i x))
N)
g c r.
Lemma pow2_ge_0 :
forall x, 0
<= x ^ 2.
Lemma pow2_abs :
forall x,
Rabs x ^ 2
= x ^ 2.
Proof that tangent is a bijection
Lemma derive_increasing_interv :
forall (
a b:
R) (
f:
R ->
R),
a < b ->
forall (
pr:
forall x,
a < x < b ->
derivable_pt f x),
(
forall t:
R,
forall (
t_encad :
a < t < b), 0
< derive_pt f t (
pr t t_encad)) ->
forall x y:
R,
a < x < b ->
a < y < b ->
x < y ->
f x < f y.
Lemma PI2_lower_bound :
forall x, 0
< x < 2 -> 0
< cos x ->
x < PI/2.
Lemma PI2_3_2 : 3
/2
< PI/2.
Lemma PI2_1 : 1
< PI/2.
Lemma tan_increasing :
forall x y:
R,
-PI/2
< x ->
x < y ->
y < PI/2 ->
tan x < tan y.
Lemma tan_is_inj :
forall x y,
-PI/2
< x < PI/2 ->
-PI/2
< y < PI/2 ->
tan x = tan y ->
x = y.
Lemma exists_atan_in_frame :
forall lb ub y,
lb < ub ->
-PI/2
< lb ->
ub < PI/2 ->
tan lb < y < tan ub ->
{x | lb < x < ub /\ tan x = y}.
Definition of arctangent as the reciprocal function of tangent and proof of this status
atan's derivative value is the function 1 / (1+x²)
Definition of the arctangent function as the sum of the arctan power series
Proof of the equivalence of the two definitions between -1 and 1
atan = ps_atan
Definition of ps_atan's derivative
Definition Datan_seq :=
fun (
x:
R) (
n:
nat) =>
x ^ (2
*n).
Lemma pow_lt_1_compat :
forall x n, 0
<= x < 1 -> (0
< n)%
nat ->
0
<= x ^ n < 1.
Lemma Datan_seq_Rabs :
forall x n,
Datan_seq (
Rabs x)
n = Datan_seq x n.
Lemma Datan_seq_pos :
forall x n, 0
< x -> 0
< Datan_seq x n.
Lemma Datan_sum_eq :
forall x n,
sum_f_R0 (
tg_alt (
Datan_seq x))
n = (1
- (- x ^ 2
) ^ S n)/(1
+ x ^ 2
).
Lemma Datan_seq_increasing :
forall x y n, (
n > 0)%
nat -> 0
<= x < y ->
Datan_seq x n < Datan_seq y n.
Lemma Datan_seq_decreasing :
forall x, -1
< x ->
x < 1 ->
Un_decreasing (
Datan_seq x).
Lemma Datan_seq_CV_0 :
forall x, -1
< x ->
x < 1 ->
Un_cv (
Datan_seq x) 0.
Lemma Datan_lim :
forall x, -1
< x ->
x < 1 ->
Un_cv (
fun N :
nat =>
sum_f_R0 (
tg_alt (
Datan_seq x))
N) (
/ (1
+ x ^ 2
)).
Lemma Datan_CVU_prelim :
forall c (
r :
posreal),
Rabs c + r < 1 ->
CVU (
fun N x =>
sum_f_R0 (
tg_alt (
Datan_seq x))
N)
(
fun y :
R =>
/ (1
+ y ^ 2
))
c r.
Lemma Datan_is_datan :
forall (
N:
nat) (
x:
R),
-1
<= x ->
x < 1 ->
derivable_pt_lim (
fun x =>
sum_f_R0 (
tg_alt (
Ratan_seq x))
N)
x (
sum_f_R0 (
tg_alt (
Datan_seq x))
N).
Lemma Ratan_CVU´ :
CVU (
fun N x =>
sum_f_R0 (
tg_alt (
Ratan_seq x))
N)
ps_atan (
/2) (
mkposreal (
/2)
pos_half_prf).
Lemma Ratan_CVU :
CVU (
fun N x =>
sum_f_R0 (
tg_alt (
Ratan_seq x))
N)
ps_atan 0 (
mkposreal 1
Rlt_0_1).
Lemma Alt_PI_tg :
forall n,
PI_tg n = Ratan_seq 1
n.
Lemma Ratan_is_ps_atan :
forall eps,
eps > 0 ->
exists N, forall n, (
n >= N)%
nat ->
forall x, -1
< x ->
x < 1 ->
Rabs (
sum_f_R0 (
tg_alt (
Ratan_seq x))
n - ps_atan x)
< eps.
Lemma Datan_continuity :
continuity (
fun x =>
/(1
+x ^ 2
)).
Lemma derivable_pt_lim_ps_atan :
forall x, -1
< x < 1 ->
derivable_pt_lim ps_atan x ((
fun y =>
/(1
+ y ^ 2
))
x).
Lemma derivable_pt_ps_atan :
forall x, -1
< x < 1 ->
derivable_pt ps_atan x.
Lemma ps_atan_continuity_pt_1 :
forall eps :
R,
eps > 0 ->
exists alp :
R,
alp > 0
/\
(forall x,
x < 1 -> 0
< x ->
R_dist x 1
< alp ->
dist R_met (
ps_atan x) (
Alt_PI/4)
< eps).
Lemma Datan_eq_DatanSeq_interv :
forall x, -1
< x < 1 ->
forall (
Pratan:
derivable_pt ps_atan x) (
Prmymeta:
derivable_pt atan x),
derive_pt ps_atan x Pratan = derive_pt atan x Prmymeta.
Lemma atan_eq_ps_atan :
forall x, 0
< x < 1 ->
atan x = ps_atan x.
Theorem Alt_PI_eq :
Alt_PI = PI.
Lemma PI_ineq :
forall N :
nat,
sum_f_R0 (
tg_alt PI_tg) (
S (2
* N))
<= PI / 4
<=
sum_f_R0 (
tg_alt PI_tg) (2
* N).