Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
N
Numerical Analysis in Coq
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
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
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Micaela Mayero
Numerical Analysis in Coq
Commits
4fd4af2e
Commit
4fd4af2e
authored
3 years ago
by
François Clément
Browse files
Options
Downloads
Patches
Plain Diff
Prove measurable_Borel_eq_topo_basis and use it for R and Rbar.
parent
9be0abe0
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
Lebesgue/measurable.v
+24
-4
24 additions, 4 deletions
Lebesgue/measurable.v
Lebesgue/measurable_R.v
+10
-8
10 additions, 8 deletions
Lebesgue/measurable_R.v
Lebesgue/measurable_Rbar.v
+6
-16
6 additions, 16 deletions
Lebesgue/measurable_Rbar.v
with
40 additions
and
28 deletions
Lebesgue/measurable.v
+
24
−
4
View file @
4fd4af2e
...
...
@@ -26,7 +26,7 @@ From Coq Require Import Lia.
From
Coquelicot
Require
Import
Hierarchy
.
Require
Import
UniformSpace_compl
.
Require
Import
Subset
Subset_finite
Subset_seq
.
Require
Import
Subset
Subset_dec
Subset_finite
Subset_seq
.
Require
Import
Subset_system_base
Subset_system_gen
Subset_system
.
Open
Scope
nat_scope
.
...
...
@@ -521,10 +521,30 @@ rewrite HB2; apply measurable_union_seq; intros n; apply measurable_gen, HB1.
apply
Incl_trans
with
open
;
now
try
apply
measurable_gen
.
Qed
.
(
*
WIP
.
Lemma
measurable_Borel_eq_topo_basis
:
forall
Idx
B
,
@
is_topo_basis
E
Idx
B
->
*
)
forall
(
B
:
nat
->
E
->
Prop
),
is_topo_basis
B
->
(
exists
n0
,
empty
(
B
n0
))
->
measurable_Borel
=
measurable
(
image
B
(
@
fullset
nat
)).
Proof
.
intros
B
HB1
[
n0
Hn0
].
apply
is_topo_basis_to_Prop
in
HB1
;
destruct
HB1
as
[
HB1a
HB1b
].
apply
measurable_Borel_gen_ext
;
intros
A
HA
.
induction
HA
as
[
n
_
];
apply
HB1a
;
exists
n
;
easy
.
exists
(
fun
n
=>
inter
(
Prop_cst
(
incl
(
B
n
)
A
))
(
B
n
));
split
.
(
*
*
)
subset_unfold
;
intros
n
;
case
(
in_dec
(
fun
m
=>
incl
(
B
m
)
A
)
n
);
intros
Hn
.
rewrite
(
subset_ext
_
(
B
n
));
easy
.
rewrite
(
subset_ext
(
fun
x
=>
_
/
\
B
n
x
)
emptyset
);
try
easy
.
rewrite
empty_emptyset
in
Hn0
;
rewrite
<-
Hn0
;
easy
.
(
*
*
)
apply
subset_ext
;
intros
x
;
rewrite
(
HB1b
A
HA
x
);
split
.
(
*
.
*
)
intros
[
B
'
[[[
n
HB
'1
]
HB
'
2
]
HB
'
3
]].
exists
n
;
rewrite
<-
HB
'1
;
split
;
easy
.
(
*
.
*
)
intros
[
n
[
Hn1
Hn2
]].
exists
(
B
n
);
repeat
split
;
try
easy
;
exists
n
;
easy
.
Qed
.
End
Borel_subsets
.
...
...
This diff is collapsed.
Click to expand it.
Lebesgue/measurable_R.v
+
10
−
8
View file @
4fd4af2e
...
...
@@ -52,16 +52,18 @@ Qed.
(
*
Lem
493
p
.
71
*
)
Lemma
measurable_R_Borel_eq_Qoo
:
measurable_Borel
=
measurable
gen_R_Qoo
.
Proof
.
apply
measurable_Borel_
gen_ext
;
intros
A
HA
.
rewrite
(
measurable_Borel_
eq_topo_basis
topo_basis_R
)
.
(
*
*
)
induction
HA
;
apply
open_and
;
[
apply
open_gt
|
apply
open_lt
].
f_equal
;
apply
subset_ext_equiv
;
split
;
intros
x
Hx
.
induction
Hx
as
[
n
_
];
easy
.
induction
Hx
as
[
a
b
];
pose
(
n
:=
bij_Q2N
(
a
,
b
)).
rewrite
(
subset_ext
_
(
topo_basis_R
n
));
try
easy
.
unfold
topo_basis_R
,
n
;
rewrite
bij_NQ2N
;
easy
.
(
*
*
)
destruct
(
R_second_countable_alt
A
HA
)
as
[
P
HP
].
exists
(
fun
n
=>
inter
(
Prop_cst
(
P
n
))
(
topo_basis_R
n
));
split
;
try
easy
.
subset_unfold
;
unfold
topo_basis_R
;
intros
n
;
case
(
in_dec
P
n
);
intros
Hn
.
erewrite
subset_ext
;
easy
.
rewrite
subset_ext
with
(
B
:=
R_oo
(
Q2R
0
)
(
Q2R
0
));
try
easy
.
R_interval_unfold
;
split
;
try
lra
;
easy
.
apply
R_second_countable
.
(
*
*
)
exists
(
bij_Q2N
(
0
,
0
)
%
Q
).
unfold
topo_basis_R
;
rewrite
bij_NQ2N
;
simpl
;
intros
x
Hx
;
lra
.
Qed
.
(
*
Lem
492
p
.
70
*
)
...
...
This diff is collapsed.
Click to expand it.
Lebesgue/measurable_Rbar.v
+
6
−
16
View file @
4fd4af2e
...
...
@@ -259,10 +259,10 @@ apply measurable_Rbar_R_eq_lt.
Qed
.
*
)
Lemma
gen_Rbar_topo_basis_empty
:
gen_Rbar_
topo_basis
emptyset
.
Lemma
gen_Rbar_topo_basis_empty
:
exists
n
,
empty
(
topo_basis
_Rbar
n
)
.
Proof
.
pose
(
n
:=
bij_Q2N
(
0
,
0
)
%
Q
).
rewrite
subset_ext
with
(
B
:=
topo_basis_Rbar
(
2
*
n
+
1
)
%
nat
);
try
easy
.
exists
(
2
*
n
+
1
)
%
nat
.
unfold
topo_basis_Rbar
.
destruct
(
Even_Odd_dec
(
2
*
n
+
1
)
%
nat
)
as
[
Hn
|
Hn
].
destruct
(
Nat
.
Even_Odd_False
_
Hn
);
exists
n
;
easy
.
...
...
@@ -272,20 +272,10 @@ Qed.
Lemma
measurable_Rbar_Borel_eq_topo_basis
:
measurable_Rbar_Borel
=
measurable
gen_Rbar_topo_basis
.
Proof
.
apply
measurable_Borel_gen_ext
;
intros
B
HB
.
(
*
*
)
induction
HB
as
[
n
];
unfold
topo_basis_Rbar
.
destruct
(
Even_Odd_dec
n
).
destruct
(
Even_Odd_dec
(
Nat
.
div2
n
)).
apply
open_Rbar_lt
.
apply
open_Rbar_gt
.
apply
open_Rbar_intoo
.
(
*
*
)
destruct
(
Rbar_second_countable_alt
B
HB
)
as
[
P
HP
].
exists
(
fun
n
=>
inter
(
Prop_cst
(
P
n
))
(
topo_basis_Rbar
n
));
split
;
try
easy
.
subset_unfold
;
intros
n
;
case
(
in_dec
P
n
);
intros
Hn
.
rewrite
subset_ext
with
(
B
:=
topo_basis_Rbar
n
);
easy
.
rewrite
subset_ext
with
(
B
:=
emptyset
);
try
easy
.
unfold
measurable_Rbar_Borel
.
rewrite
(
measurable_Borel_eq_topo_basis
topo_basis_Rbar
).
f_equal
;
apply
subset_ext_equiv
;
split
;
intros
x
Hx
;
induction
Hx
;
easy
.
apply
Rbar_second_countable
.
apply
gen_Rbar_topo_basis_empty
.
Qed
.
...
...
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