-
Notifications
You must be signed in to change notification settings - Fork 250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Merged by Bors] - feat: a few lemmas on continuous functions #7005
Conversation
rcases hf.exists_bound_of_continuousOn' h'f.continuousOn with ⟨C, hC⟩ | ||
refine ⟨max C 0, fun x ↦ ?_⟩ | ||
by_cases hx : x ∈ mulTSupport f | ||
· exact (hC x hx).trans (le_max_left C 0) | ||
· simp [image_eq_one_of_nmem_mulTSupport hx] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be shorter to use HasCompactMulSupport.isCompact_range, IsCompact.bounded, Metric.Bounded.exists_norm_le and Set.forall_range_iff, but I haven't tried so I could be wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed! My first version was along these lines, but I missed Metric.Bounded.exists_norm_le'
. With it, this is a one-liner. Thanks!
@@ -955,6 +955,13 @@ theorem ContinuousWithinAt.preimage_mem_nhdsWithin' {f : α → β} {x : α} {s | |||
h.tendsto_nhdsWithin (mapsTo_image _ _) ht | |||
#align continuous_within_at.preimage_mem_nhds_within' ContinuousWithinAt.preimage_mem_nhdsWithin' | |||
|
|||
theorem ContinuousWithinAt.preimage_mem_nhdsWithin'' | |||
{f : α → β} {x : α} {y : β} {s t : Set β} | |||
(h : ContinuousWithinAt f (f ⁻¹' s) x) (ht : t ∈ 𝓝[s] y) (hxy : y = f x) : |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you really want this extra y
instead of just using f x
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. I started with the version without the y
, and in all my applications I had first to rewrite y
to put it exactly in the form of f x
before applying the lemma. After 4 or 5 times, I decided it would be more efficient to change the lemma and to add a y
there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, I can convince myself that it makes sense since in this version of the lemma everything lives in the domain in some sense. So if it's useful let's keep it like that.
Thanks! bors r+ |
Topological prerequisites for Rademacher theorem in #7003.
Pull request successfully merged into master. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
* fix-lint: (463 commits) chore: lint-style.py was calling str.replace incorrectly chore: module doc for #find_home, #minimize_imports, import early (#7095) chore: reduce imports to Data.Rat.Cast.CharZero (#7091) chore: cleanup imports of Data/Rat/Cast/Defs (#7092) chore: linarith only needs ring1 (#7090) refactor(Data/Int/Bitwise): use `<<<` and `>>>` notation (#6789) chore: delete redundant commented-out positivity test (#7085) chore: fix docstrings, names and aligns about paracompacity of emetric spaces (#7064) feat(Data/Finsupp): add notation (#6367) refactor: re-home some meta code (#6921) fix: don't use `False` as a bool, use `false` (#7059) chore: fix reference to `compactCovering` in docstring (#7065) fix: fix link in docstring of IsWellFounded (#7063) chore: tidy various files (#7041) feat: roots in an algebra (#6740) chore: revert ProofWidgets bump in #7044 and #7056 (#7069) feat: super factorial (#6768) feat(LinearAlgebra/Matrix/Trace): add Matrix.trace_diagonal (#7061) chore: complete ProofWidgets bump (#7056) feat: More `Finset.sup'` lemmas (#7021) feat: self_lt_pow (#7058) chore: move some files to `MeasureTheory/MeasurableSpace/` (#7045) chore(RingTheory/Nilpotent): untwine two universes (#7057) feat: von Neumann Mean Ergodic Theorem (#6053) feat: (sSup, Iic) and (Ici, sInf) are Galois connections (#6951) feat: derivative along a vector (#7038) feat: check for some common git problems in CI (#7043) chore: bump ProofWidgets (#7044) feat(Topology/Algebra): add `DiscreteTopology Mˣ` (#7028) chore: simplify `by rfl` (#7039) chore: tidy various files (#7035) refactor(LinearAlgebra/CliffordAlgebra/Conjugation): expose implementation details of 'reverse' (#6783) feat: add `DiscreteTopology.of_continuous_injective` (#7029) feat: restore the module docstring code snippet (#7030) feat: flesh out the API for `realPart` and `imaginaryPart` (#7023) chore: missing simps lemmas for `Multiplicative` defs (#7016) feat: characterize isLittleO on principal filters (#7008) doc: cleanup documentation on Basis.constr (#7007) feat: cleanup API around differentiable functions (#7004) feat: add Nat.digits_append_digits (#6999) feat: definition of the homology of a short complex (#6994) chore: implement porting notes about Polish spaces (#6991) feat(Algebra/Category/ModuleCat): composition of restriction of scalar functors (#6915) feat: compute the integral of sqrt (1 - x ^ 2) (#6905) chore(*/TensorProduct): missing functorial lemmas (#6781) feat: a functor from a small category to a filtered category factors through a small filtered category (#6212) feat: expand API on locally integrable functions (#7006) chore: split Tactic.NormNum.Basic (#7002) feat: a few lemmas on continuous functions (#7005) feat: ZMod.castHom_self (#7013) ...
Topological prerequisites for Rademacher theorem in #7003.
Topological prerequisites for Rademacher theorem in #7003.