Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
flocq
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Flocq
flocq
Commits
1c9be77b
Commit
1c9be77b
authored
Sep 02, 2011
by
Guillaume Melquiond
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplified proofs.
parent
de10d038
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
53 deletions
+28
-53
src/Core/Fcore_FTZ.v
src/Core/Fcore_FTZ.v
+28
-53
No files found.
src/Core/Fcore_FTZ.v
View file @
1c9be77b
...
...
@@ -69,46 +69,38 @@ generalize (prec_gt_0 prec).
split
;
intros
;
omega
.
Qed
.
Theorem
FLXN_format_FTZ
:
forall
x
,
FTZ_format
x
->
FLXN_format
beta
prec
x
.
Proof
.
intros
x
((
xm
,
xe
),
(
Hx1
,
(
Hx2
,
Hx3
))).
eexists
.
apply
(
conj
Hx1
Hx2
).
Qed
.
Theorem
generic_format_FTZ
:
forall
x
,
FTZ_format
x
->
generic_format
beta
FTZ_exp
x
.
Proof
.
intros
x
((
xm
,
xe
),
(
Hx1
,
(
Hx2
,
Hx3
))).
destruct
(
Req_dec
x
0
)
as
[
Hx4
|
Hx4
].
rewrite
Hx4
.
apply
generic_format_0
.
specialize
(
Hx2
Hx4
).
rewrite
Hx1
.
apply
generic_format_F2R
.
unfold
canonic_exponent
,
FTZ_exp
.
rewrite
<-
Hx1
.
destruct
(
ln_beta
beta
x
)
as
(
ex
,
Hx6
).
simpl
.
specialize
(
Hx6
Hx4
).
generalize
(
Zlt_cases
(
ex
-
prec
)
emin
).
case
(
Zlt_bool
(
ex
-
prec
)
emin
)
;
intros
H1
.
elim
(
Rlt_not_le
_
_
(
proj2
Hx6
)).
apply
Rle_trans
with
(
bpow
(
prec
-
1
)
*
bpow
emin
)
%
R
.
rewrite
<-
bpow_plus
.
apply
bpow_le
.
omega
.
rewrite
Hx1
,
abs_F2R
.
unfold
F2R
.
simpl
.
apply
Rmult_le_compat
.
apply
bpow_ge_0
.
apply
bpow_ge_0
.
rewrite
<-
Z2R_Zpower
.
now
apply
Z2R_le
.
apply
Zle_minus_le_0
.
now
apply
(
Zlt_le_succ
0
).
now
apply
bpow_le
.
cut
(
ex
-
1
<
prec
+
xe
)
%
Z
.
omega
.
apply
(
lt_bpow
beta
).
apply
Rle_lt_trans
with
(
1
:=
proj1
Hx6
).
rewrite
Hx1
.
apply
F2R_lt_bpow
.
simpl
.
ring_simplify
(
prec
+
xe
-
xe
)
%
Z
.
intros
x
Hx
.
cut
(
generic_format
beta
(
FLX_exp
prec
)
x
).
apply
generic_inclusion_ln_beta
.
intros
Zx
.
destruct
Hx
as
((
xm
,
xe
),
(
Hx1
,
(
Hx2
,
Hx3
))).
simpl
in
Hx2
,
Hx3
.
specialize
(
Hx2
Zx
).
assert
(
Zxm
:
xm
<>
Z0
).
contradict
Zx
.
rewrite
Hx1
,
Zx
.
apply
F2R_0
.
unfold
FTZ_exp
,
FLX_exp
.
rewrite
Zlt_bool_false
.
apply
Zle_refl
.
rewrite
Hx1
,
ln_beta_F2R
with
(
1
:=
Zxm
).
cut
(
prec
-
1
<
ln_beta
beta
(
Z2R
xm
))
%
Z
.
clear
-
Hx3
;
omega
.
apply
ln_beta_Z2R_gt
with
(
1
:=
Zxm
).
apply
Hx2
.
apply
generic_format_FLXN
.
now
apply
FLXN_format_FTZ
.
Qed
.
Theorem
FTZ_format_generic
:
...
...
@@ -185,23 +177,6 @@ apply FTZ_format_generic.
apply
generic_format_FTZ
.
Qed
.
Theorem
FLXN_format_FTZ
:
forall
x
,
FTZ_format
x
->
FLXN_format
beta
prec
x
.
Proof
with
auto
with
typeclass_instances
.
intros
x
Fx
.
apply
FLXN_format_generic
...
apply
generic_format_FTZ
in
Fx
.
revert
Fx
.
apply
generic_inclusion_ln_beta
.
intros
_.
unfold
FLX_exp
,
FTZ_exp
.
case
Zlt_bool_spec
.
generalize
(
prec_gt_0
prec
).
omega
.
intros
_.
apply
Zle_refl
.
Qed
.
Theorem
FTZ_format_FLXN
:
forall
x
:
R
,
(
bpow
(
emin
+
prec
-
1
)
<=
Rabs
x
)
%
R
->
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment