-
Notifications
You must be signed in to change notification settings - Fork 1k
[Merged by Bors] - feat: add forall_is{Open,Closed}_iff
#33624
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: add forall_is{Open,Closed}_iff
#33624
Conversation
PR summary 8885835846Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
Can we have Also, do we get anything by reframing these as induction/recursion lemmas? (to prove something for a closed set, it suffices to prove it for the closure of a set). |
Done.
🤷 I suspect that's not terribly useful. I only wrote these because I wanted them as rewrites. |
|
Thanks! bors merge |
|
Pull request successfully merged into master. Build succeeded: |
forall_is{Open,Closed}_iffforall_is{Open,Closed}_iff
This adds some API for upper hemicontinuous functions, including their behavior under pointwise union or intersection, post-composition by the preimage of a closed embedding (actually, injectivity is not necessary), and the characterization in terms of the convergence of sequences. This is is useful for a forthcoming PR proving the upper hemicontinuity of the spectrum in Banach algebras. Analogous results of lower hemicontinuous functions are *not* included because they are not as easily obtained from their upper counterparts as is the case for upper/lower semicontinuity, and our downstream applications involve upper hemicontinuity alone. - [ ] depends on: #33623 - [ ] depends on: #33624 - [ ] depends on: #33625
If `A` is a (unital) Banach `𝕜`-algebra, then `spectrum 𝕜 : A → Set 𝕜` is upper hemicontinuous. Likewise, if `A` is a Banach `ℝ`-algebra, this holds for `spectrum ℝ≥0` as well. In addition, both of these results are true for non-unital Banach algebras replacing `spectrum` by `quasispectrum`. This is useful for providing some more convenience lemmas establishing continuity of the continuous functional calculus in the operator variable. - [ ] depends on: #33623 - [ ] depends on: #33624 - [ ] depends on: #33625 - [ ] depends on: #33626
If `A` is a (unital) Banach `𝕜`-algebra, then `spectrum 𝕜 : A → Set 𝕜` is upper hemicontinuous. Likewise, if `A` is a Banach `ℝ`-algebra, this holds for `spectrum ℝ≥0` as well. In addition, both of these results are true for non-unital Banach algebras replacing `spectrum` by `quasispectrum`. This is useful for providing some more convenience lemmas establishing continuity of the continuous functional calculus in the operator variable. - [ ] depends on: #33623 - [ ] depends on: #33624 - [ ] depends on: #33625 - [ ] depends on: #33626
…calculus in the operator variable (#33628) If `a : X → A` is continuous and `A` is a C⋆-algebra and `f` is continuous on a neighborhood of the union of the spectra of `a x`, then `fun x ↦ cfc f (a x)` is continuous (assuming that `a x` satisfies the relevant predicate for the continuous functional calculus). This is slightly weaker than our existing theorems for the continuity of the continuous functional calculus (compare with `Continuous.cfc`), but it is often easier to apply in practice. In particular, it uses upper hemicontinuity of the spectrum to automatically satisfy some of the hypotheses in `Continuous.cfc` at the cost of requiring a *neighborhood* (instead of just compact sets containing the spectra). Indeed, in #33617 we use this to establish continuity of common functions defined in terms of the continuous functional calculus, such as `CFC.log`, `CFC.nnrpow`, `CFC.rpow`, `CFC.sqrt` and `CFC.abs`. - [ ] depends on: #33623 - [ ] depends on: #33624 - [ ] depends on: #33625 - [ ] depends on: #33626 - [ ] depends on: #33627
…calculus in the operator variable (#33628) If `a : X → A` is continuous and `A` is a C⋆-algebra and `f` is continuous on a neighborhood of the union of the spectra of `a x`, then `fun x ↦ cfc f (a x)` is continuous (assuming that `a x` satisfies the relevant predicate for the continuous functional calculus). This is slightly weaker than our existing theorems for the continuity of the continuous functional calculus (compare with `Continuous.cfc`), but it is often easier to apply in practice. In particular, it uses upper hemicontinuity of the spectrum to automatically satisfy some of the hypotheses in `Continuous.cfc` at the cost of requiring a *neighborhood* (instead of just compact sets containing the spectra). Indeed, in #33617 we use this to establish continuity of common functions defined in terms of the continuous functional calculus, such as `CFC.log`, `CFC.nnrpow`, `CFC.rpow`, `CFC.sqrt` and `CFC.abs`. - [ ] depends on: #33623 - [ ] depends on: #33624 - [ ] depends on: #33625 - [ ] depends on: #33626 - [ ] depends on: #33627
…over-community#33627) If `A` is a (unital) Banach `𝕜`-algebra, then `spectrum 𝕜 : A → Set 𝕜` is upper hemicontinuous. Likewise, if `A` is a Banach `ℝ`-algebra, this holds for `spectrum ℝ≥0` as well. In addition, both of these results are true for non-unital Banach algebras replacing `spectrum` by `quasispectrum`. This is useful for providing some more convenience lemmas establishing continuity of the continuous functional calculus in the operator variable. - [ ] depends on: leanprover-community#33623 - [ ] depends on: leanprover-community#33624 - [ ] depends on: leanprover-community#33625 - [ ] depends on: leanprover-community#33626
…calculus in the operator variable (leanprover-community#33628) If `a : X → A` is continuous and `A` is a C⋆-algebra and `f` is continuous on a neighborhood of the union of the spectra of `a x`, then `fun x ↦ cfc f (a x)` is continuous (assuming that `a x` satisfies the relevant predicate for the continuous functional calculus). This is slightly weaker than our existing theorems for the continuity of the continuous functional calculus (compare with `Continuous.cfc`), but it is often easier to apply in practice. In particular, it uses upper hemicontinuity of the spectrum to automatically satisfy some of the hypotheses in `Continuous.cfc` at the cost of requiring a *neighborhood* (instead of just compact sets containing the spectra). Indeed, in leanprover-community#33617 we use this to establish continuity of common functions defined in terms of the continuous functional calculus, such as `CFC.log`, `CFC.nnrpow`, `CFC.rpow`, `CFC.sqrt` and `CFC.abs`. - [ ] depends on: leanprover-community#33623 - [ ] depends on: leanprover-community#33624 - [ ] depends on: leanprover-community#33625 - [ ] depends on: leanprover-community#33626 - [ ] depends on: leanprover-community#33627
…nal calculus (leanprover-community#33617) Proves that `CFC.log`, `CFC.nnrpow`, `CFC.rpow`, `CFC.sqrt` and `CFC.abs` are continuous (on appropriate subsets of `A`). - [ ] depends on: leanprover-community#33623 - [ ] depends on: leanprover-community#33624 - [ ] depends on: leanprover-community#33625 - [ ] depends on: leanprover-community#33626 - [ ] depends on: leanprover-community#33627 - [ ] depends on: leanprover-community#33628
A predicate holds for all open (resp. closed) sets if and only if it holds for the interior (resp. closure) of any set.
…ty#33626) This adds some API for upper hemicontinuous functions, including their behavior under pointwise union or intersection, post-composition by the preimage of a closed embedding (actually, injectivity is not necessary), and the characterization in terms of the convergence of sequences. This is is useful for a forthcoming PR proving the upper hemicontinuity of the spectrum in Banach algebras. Analogous results of lower hemicontinuous functions are *not* included because they are not as easily obtained from their upper counterparts as is the case for upper/lower semicontinuity, and our downstream applications involve upper hemicontinuity alone. - [ ] depends on: leanprover-community#33623 - [ ] depends on: leanprover-community#33624 - [ ] depends on: leanprover-community#33625
…over-community#33627) If `A` is a (unital) Banach `𝕜`-algebra, then `spectrum 𝕜 : A → Set 𝕜` is upper hemicontinuous. Likewise, if `A` is a Banach `ℝ`-algebra, this holds for `spectrum ℝ≥0` as well. In addition, both of these results are true for non-unital Banach algebras replacing `spectrum` by `quasispectrum`. This is useful for providing some more convenience lemmas establishing continuity of the continuous functional calculus in the operator variable. - [ ] depends on: leanprover-community#33623 - [ ] depends on: leanprover-community#33624 - [ ] depends on: leanprover-community#33625 - [ ] depends on: leanprover-community#33626
…calculus in the operator variable (leanprover-community#33628) If `a : X → A` is continuous and `A` is a C⋆-algebra and `f` is continuous on a neighborhood of the union of the spectra of `a x`, then `fun x ↦ cfc f (a x)` is continuous (assuming that `a x` satisfies the relevant predicate for the continuous functional calculus). This is slightly weaker than our existing theorems for the continuity of the continuous functional calculus (compare with `Continuous.cfc`), but it is often easier to apply in practice. In particular, it uses upper hemicontinuity of the spectrum to automatically satisfy some of the hypotheses in `Continuous.cfc` at the cost of requiring a *neighborhood* (instead of just compact sets containing the spectra). Indeed, in leanprover-community#33617 we use this to establish continuity of common functions defined in terms of the continuous functional calculus, such as `CFC.log`, `CFC.nnrpow`, `CFC.rpow`, `CFC.sqrt` and `CFC.abs`. - [ ] depends on: leanprover-community#33623 - [ ] depends on: leanprover-community#33624 - [ ] depends on: leanprover-community#33625 - [ ] depends on: leanprover-community#33626 - [ ] depends on: leanprover-community#33627
…nal calculus (leanprover-community#33617) Proves that `CFC.log`, `CFC.nnrpow`, `CFC.rpow`, `CFC.sqrt` and `CFC.abs` are continuous (on appropriate subsets of `A`). - [ ] depends on: leanprover-community#33623 - [ ] depends on: leanprover-community#33624 - [ ] depends on: leanprover-community#33625 - [ ] depends on: leanprover-community#33626 - [ ] depends on: leanprover-community#33627 - [ ] depends on: leanprover-community#33628
A predicate holds for all open (resp. closed) sets if and only if it holds for the interior (resp. closure) of any set.