Commit 2020-10-13 21:59 2543b688
View on Github →refactor(*): migrate to dense
API (#4447)
@PatrickMassot introduced dense
in #4399. In this PR I review the API and migrate many definitions and lemmas
to use dense s
instead of closure s = univ
. I also generalize second_countable_of_separable
to a uniform_space
with a countably generated uniformity filter.
API changes
Use dense
or dense_range
instead of closure _ = univ
Lemmas
has_fderiv_within_at.unique_diff_within_at
;exists_dense_seq
;dense_Inter_of_open_nat
;dense_sInter_of_open
;dense_bInter_of_open
;dense_Inter_of_open
;dense_sInter_of_Gδ
;dense_bInter_of_Gδ
;eventually_residual
;mem_residual
;dense_bUnion_interior_of_closed
;dense_sUnion_interior_of_closed
;dense_Union_interior_of_closed
;Kuratowski_embeddinng.embedding_of_subset_isometry
;continuous_extend_from
;
Definitions
unique_diff_within_at
;residual
;
Rename
submodule.linear_eq_on
→linear_map.eq_on_span
,linear_map.eq_on_span'
;submodule.linear_map.ext_on
→linear_map.ext_on_range
;filter.is_countably_generated.has_antimono_basis
→filter.is_countably_generated.exists_antimono_basis
;exists_countable_closure_eq_univ
→exists_countable_dense
, usedense
;dense_seq_dense
→dense_range_dense_seq
, usedense
;dense_range.separable_space
is nowprotected
;dense_of_subset_dense
→dense.mono
;dense_inter_of_open_left
→dense.inter_of_open_left
;dense_inter_of_open_right
→dense.inter_of_open_right
;continuous.dense_image_of_dense_range
→dense_range.dense_image
;dense_range.inhabited
,dense_range.nonempty
: changed API, TODO;quotient_dense_of_dense
→dense.quotient
, usedense
;dense_inducing.separable
→dense_inducing.separable_space
, addprotected
;dense_embedding.separable
→dense_embedding.separable_space
, addprotected
;dense_inter_of_Gδ
→dense.inter_of_Gδ
;stone_cech_unit_dense
→dense_range_stone_cech_unit
;abstract_completion.dense'
→abstract_completion.closure_range
;Cauchy.pure_cauchy_dense
→Cauchy.dense_range_pure_cauchy
;completion.dense
→completion.dense_range_coe
;completion.dense₂
→completion.dense_range_coe₂
;completion.dense₃
→completion.dense_range_coe₃
;
New
has_fderiv_within_at.unique_on
: iff'
andf₁'
are two derivatives off
withins
atx
, then they are equal on the tangent cone tos
atx
;local_homeomorph.mdifferentiable.mfderiv_bijective
,local_homeomorph.mdifferentiable.mfderiv_surjective
continuous_linear_map.eq_on_closure_span
: if two continuous linear maps are equal ons
, then they are equal onclosure (submodule.span s)
;continuous_linear_map.ext_on
: if two continuous linear maps are equal on a sets
such thatsubmodule.span s
is dense, then they are equal;dense_closure
:closure s
is dense iffs
is dense;dense.of_closure
,dense.closure
: aliases fordense_closure.mp
anddense_closure.mpr
;dense_univ
:univ
is dense;dense.inter_open_nonempty
: alias fordense_iff_inter_open.mp
;dense.nonempty_iff
: ifs : set α
is a dense set, thens
is nonempty iffα
is nonempty;dense.nonempty
: a dense set in a nonempty type is nonempty;dense_range.some
: given a function withdense_range
and a point in the codomain, returns a point in the domain;function.surjective.dense_range
: a surjective function has dense range;continuous.range_subset_closure_image_dense
: closure of the image of a dense set under a continuous function includes the range of this function;dense_range.dense_of_maps_to
: if a function with dense range maps a dense sets
tot
, thent
is dense in the codomain;dense_range.quotient
;dense.prod
: product of two dense sets is dense in the product;set.eq_on.closure
;continuous.ext_on
;linear_map.ext_on