Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
stdpp
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Adam
stdpp
Commits
c7012583
Commit
c7012583
authored
4 years ago
by
Robbert Krebbers
Browse files
Options
Downloads
Patches
Plain Diff
Tweaks based on feedback Ralf.
parent
f106ebdd
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
theories/numbers.v
+14
-21
14 additions, 21 deletions
theories/numbers.v
with
14 additions
and
21 deletions
theories/numbers.v
+
14
−
21
View file @
c7012583
...
@@ -807,10 +807,10 @@ Proof. destruct p; apply Qp_to_Qc_inj_iff, Qcmult_1_l. Qed.
...
@@ -807,10 +807,10 @@ Proof. destruct p; apply Qp_to_Qc_inj_iff, Qcmult_1_l. Qed.
Lemma
Qp_mul_1_r
p
:
p
*
1
=
p
.
Lemma
Qp_mul_1_r
p
:
p
*
1
=
p
.
Proof
.
destruct
p
;
apply
Qp_to_Qc_inj_iff
,
Qcmult_1_r
.
Qed
.
Proof
.
destruct
p
;
apply
Qp_to_Qc_inj_iff
,
Qcmult_1_r
.
Qed
.
Lemma
Qp_
one_one
:
1
+
1
=
2
.
Lemma
Qp_
1_1
:
1
+
1
=
2
.
Proof
.
apply
(
bool_decide_unpack
_);
by
compute
.
Qed
.
Proof
.
apply
(
bool_decide_unpack
_);
by
compute
.
Qed
.
Lemma
Qp_add_diag
p
:
p
+
p
=
2
*
p
.
Lemma
Qp_add_diag
p
:
p
+
p
=
2
*
p
.
Proof
.
by
rewrite
<-
Qp_
one_one
,
Qp_mul_add_distr_r
,
!
Qp_mul_1_l
.
Qed
.
Proof
.
by
rewrite
<-
Qp_
1_1
,
Qp_mul_add_distr_r
,
!
Qp_mul_1_l
.
Qed
.
Lemma
Qp_mul_inv_l
p
:
/
p
*
p
=
1
.
Lemma
Qp_mul_inv_l
p
:
/
p
*
p
=
1
.
Proof
.
Proof
.
...
@@ -866,7 +866,7 @@ Proof.
...
@@ -866,7 +866,7 @@ Proof.
rewrite
<-
Qp_div_add_distr
,
Qp_add_diag
.
rewrite
<-
Qp_div_add_distr
,
Qp_add_diag
.
rewrite
<-
(
Qp_mul_1_r
2
)
at
2
.
by
rewrite
Qp_div_mul_cancel_l
,
Qp_div_1
.
rewrite
<-
(
Qp_mul_1_r
2
)
at
2
.
by
rewrite
Qp_div_mul_cancel_l
,
Qp_div_1
.
Qed
.
Qed
.
Lemma
Qp_div_
S
p
q
:
p
/
(
2
*
q
)
+
p
/
(
2
*
q
)
=
p
/
q
.
Lemma
Qp_div_
2_mul
p
q
:
p
/
(
2
*
q
)
+
p
/
(
2
*
q
)
=
p
/
q
.
Proof
.
by
rewrite
<-
Qp_div_add_distr
,
Qp_add_diag
,
Qp_div_mul_cancel_l
.
Qed
.
Proof
.
by
rewrite
<-
Qp_div_add_distr
,
Qp_add_diag
,
Qp_div_mul_cancel_l
.
Qed
.
Lemma
Qp_half_half
:
1
/
2
+
1
/
2
=
1
.
Lemma
Qp_half_half
:
1
/
2
+
1
/
2
=
1
.
Proof
.
apply
(
bool_decide_unpack
_);
by
compute
.
Qed
.
Proof
.
apply
(
bool_decide_unpack
_);
by
compute
.
Qed
.
...
@@ -958,34 +958,27 @@ Proof. rewrite !(comm_L Qp_mul _ r). apply Qp_mul_lt_mono_l. Qed.
...
@@ -958,34 +958,27 @@ Proof. rewrite !(comm_L Qp_mul _ r). apply Qp_mul_lt_mono_l. Qed.
Lemma
Qp_mul_lt_mono
q
p
n
m
:
q
<
n
→
p
<
m
→
q
*
p
<
n
*
m
.
Lemma
Qp_mul_lt_mono
q
p
n
m
:
q
<
n
→
p
<
m
→
q
*
p
<
n
*
m
.
Proof
.
intros
.
etrans
;
[
by
apply
Qp_mul_lt_mono_l
|
by
apply
Qp_mul_lt_mono_r
]
.
Qed
.
Proof
.
intros
.
etrans
;
[
by
apply
Qp_mul_lt_mono_l
|
by
apply
Qp_mul_lt_mono_r
]
.
Qed
.
Lemma
Qp_lt_add_l
q
p
:
p
<
q
+
p
.
Lemma
Qp_lt_add_l
p
q
:
p
<
p
+
q
.
Proof
.
Proof
.
destruct
p
as
[
p
?],
q
as
[
q
?]
.
apply
Qp_to_Qc_inj_lt
;
simpl
.
destruct
p
as
[
p
?],
q
as
[
q
?]
.
apply
Qp_to_Qc_inj_lt
;
simpl
.
rewrite
<-
(
Qcplus_0_
l
p
)
at
1
.
by
rewrite
<-
Qcplus_lt_mono_
r
.
rewrite
<-
(
Qcplus_0_
r
p
)
at
1
.
by
rewrite
<-
Qcplus_lt_mono_
l
.
Qed
.
Qed
.
Lemma
Qp_lt_add_r
q
p
:
q
<
q
+
p
.
Lemma
Qp_lt_add_r
p
q
:
q
<
p
+
q
.
Proof
.
rewrite
(
comm_L
Qp_add
)
.
apply
Qp_lt_add_l
.
Qed
.
Proof
.
rewrite
(
comm_L
Qp_add
)
.
apply
Qp_lt_add_l
.
Qed
.
Lemma
Qp_not_add_ge
q
p
:
¬
(
q
+
p
≤
q
)
.
Lemma
Qp_not_add_le_l
p
q
:
¬
(
p
+
q
≤
p
)
.
Proof
.
apply
Qp_lt_nge
,
Qp_lt_add_l
.
Qed
.
Lemma
Qp_not_add_le_r
p
q
:
¬
(
p
+
q
≤
q
)
.
Proof
.
apply
Qp_lt_nge
,
Qp_lt_add_r
.
Qed
.
Proof
.
apply
Qp_lt_nge
,
Qp_lt_add_r
.
Qed
.
Lemma
Qp_add_id_free
q
p
:
q
+
p
≠
q
.
Lemma
Qp_add_id_free
q
p
:
q
+
p
≠
q
.
Proof
.
intro
Heq
.
apply
(
Qp_not_add_
ge
q
p
)
.
by
rewrite
Heq
.
Qed
.
Proof
.
intro
Heq
.
apply
(
Qp_not_add_
le_l
q
p
)
.
by
rewrite
Heq
.
Qed
.
Lemma
Qp_le_add_l
q
p
:
p
≤
q
+
p
.
Lemma
Qp_le_add_l
p
q
:
p
≤
p
+
q
.
Proof
.
apply
Qp_lt_le_incl
,
Qp_lt_add_l
.
Qed
.
Proof
.
apply
Qp_lt_le_incl
,
Qp_lt_add_l
.
Qed
.
Lemma
Qp_le_add_r
q
p
:
q
≤
q
+
p
.
Lemma
Qp_le_add_r
p
q
:
q
≤
p
+
q
.
Proof
.
apply
Qp_lt_le_incl
,
Qp_lt_add_r
.
Qed
.
Proof
.
apply
Qp_lt_le_incl
,
Qp_lt_add_r
.
Qed
.
Lemma
Qp_add_weak_r
q
p
o
:
q
+
p
≤
o
→
q
≤
o
.
Proof
.
intros
.
etrans
;
[
apply
Qp_le_add_r
|
done
]
.
Qed
.
Lemma
Qp_add_weak_l
q
p
o
:
q
+
p
≤
o
→
p
≤
o
.
Proof
.
rewrite
(
comm_L
Qp_add
)
.
apply
Qp_add_weak_r
.
Qed
.
Lemma
Qp_add_weak_2_r
q
p
o
:
q
≤
o
→
q
≤
p
+
o
.
Proof
.
intros
.
etrans
;
[
done
|
apply
Qp_le_add_l
]
.
Qed
.
Lemma
Qp_add_weak_2_l
q
p
o
:
q
≤
p
→
q
≤
p
+
o
.
Proof
.
rewrite
(
comm_L
Qp_add
)
.
apply
Qp_add_weak_2_r
.
Qed
.
Lemma
Qp_sub_Some
p
q
r
:
p
-
q
=
Some
r
↔
p
=
q
+
r
.
Lemma
Qp_sub_Some
p
q
r
:
p
-
q
=
Some
r
↔
p
=
q
+
r
.
Proof
.
Proof
.
destruct
p
as
[
p
Hp
],
q
as
[
q
Hq
],
r
as
[
r
Hr
]
.
destruct
p
as
[
p
Hp
],
q
as
[
q
Hq
],
r
as
[
r
Hr
]
.
...
@@ -1128,7 +1121,7 @@ Proof. rewrite (comm_L Qp_max q). apply Qp_le_max_l. Qed.
...
@@ -1128,7 +1121,7 @@ Proof. rewrite (comm_L Qp_max q). apply Qp_le_max_l. Qed.
Lemma
Qp_max_add
q
p
:
q
`
max
`
p
≤
q
+
p
.
Lemma
Qp_max_add
q
p
:
q
`
max
`
p
≤
q
+
p
.
Proof
.
Proof
.
unfold
Qp_max
.
unfold
Qp_max
.
destruct
(
decide
(
q
≤
p
));
[
apply
Qp_le_add_
l
|
apply
Qp_le_add_
r
]
.
destruct
(
decide
(
q
≤
p
));
[
apply
Qp_le_add_
r
|
apply
Qp_le_add_
l
]
.
Qed
.
Qed
.
Lemma
Qp_max_lub_l
q
p
o
:
q
`
max
`
p
≤
o
→
q
≤
o
.
Lemma
Qp_max_lub_l
q
p
o
:
q
`
max
`
p
≤
o
→
q
≤
o
.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment