[Merged by Bors] - feat(Topology/Instances/AddCircle): add Ioc analogues of lift and equiv lemmas#37570
Conversation
…iv lemmas Add Ioc analogues of existing AddCircle Ico lemmas: - `liftIoc_eq_liftIco_of_ne` - `coe_eq_coe_iff_of_mem_Ioc` - `eq_coe_Ioc` - `coe_equivIoc` - `equivIoc_coe_of_mem` Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project. Co-authored-by: James Sundstrom <[email protected]> Co-authored-by: Leo Diedering <[email protected]>
PR summary 91f509a196Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
I'm a little puzzled by the PR description since of these five lemmas, only three of them seem to have existing Ico counterparts: we have |
|
Good point, thanks! Updated the PR description. Only |
| (equivIoc p a y : AddCircle p) = y := | ||
| (equivIoc p a).left_inv y | ||
|
|
||
| lemma equivIoc_coe_of_mem {y : 𝕜} (hy : y ∈ Set.Ioc a (a + p)) : |
There was a problem hiding this comment.
Same for this one: we should have both Ioc and Ico versions (but this one shouldn't get a simp flag).
| have x_eq_b : x = ↑b := | ||
| (QuotientAddGroup.equivIcoMod hp.out a).apply_eq_iff_eq_symm_apply.mp rfl | ||
| rw [x_eq_b, liftIco_coe_apply b.coe_prop] | ||
| exact liftIoc_coe_apply ⟨lt_of_le_of_ne b.coe_prop.1 (x_ne_a <| · ▸ x_eq_b), b.coe_prop.2.le⟩ |
There was a problem hiding this comment.
| exact liftIoc_coe_apply ⟨lt_of_le_of_ne b.coe_prop.1 (x_ne_a <| · ▸ x_eq_b), b.coe_prop.2.le⟩ | |
| exact liftIoc_coe_apply (by grind) |
| have x_eq_b : x = ↑b := | ||
| (QuotientAddGroup.equivIcoMod hp.out a).apply_eq_iff_eq_symm_apply.mp rfl |
There was a problem hiding this comment.
If you add missing Ico lemma above this becomes just
| have x_eq_b : x = ↑b := | |
| (QuotientAddGroup.equivIcoMod hp.out a).apply_eq_iff_eq_symm_apply.mp rfl | |
| have x_eq_b : x = ↑b := coe_equivIco.symm |
| (QuotientAddGroup.equivIcoMod hp.out 0).symm_apply_apply a⟩ | ||
|
|
||
| /-- Ioc version of `eq_coe_Ico`. -/ | ||
| lemma eq_coe_Ioc (a : AddCircle p) : ∃ b ∈ Set.Ioc 0 p, ↑b = a := by |
There was a problem hiding this comment.
| lemma eq_coe_Ioc (a : AddCircle p) : ∃ b ∈ Set.Ioc 0 p, ↑b = a := by | |
| lemma eq_coe_Ioc (a : AddCircle p) : ∃ b ∈ Ioc 0 p, ↑b = a := by |
| theorem liftIoc_eq_liftIco_of_ne (f : 𝕜 → B) {x : AddCircle p} | ||
| (x_ne_a : x ≠ a) : liftIoc p a f x = liftIco p a f x := by |
There was a problem hiding this comment.
f can be implicit (inferrable from either side of the equality)
| theorem liftIoc_eq_liftIco_of_ne (f : 𝕜 → B) {x : AddCircle p} | |
| (x_ne_a : x ≠ a) : liftIoc p a f x = liftIco p a f x := by | |
| theorem liftIoc_eq_liftIco_of_ne {f : 𝕜 → B} {x : AddCircle p} (x_ne_a : x ≠ a) : | |
| liftIoc p a f x = liftIco p a f x := by |
| (equivIoc p a y : AddCircle p) = y := | ||
| (equivIoc p a).left_inv y | ||
|
|
||
| lemma equivIoc_coe_of_mem {y : 𝕜} (hy : y ∈ Set.Ioc a (a + p)) : |
There was a problem hiding this comment.
| lemma equivIoc_coe_of_mem {y : 𝕜} (hy : y ∈ Set.Ioc a (a + p)) : | |
| lemma equivIoc_coe_of_mem {y : 𝕜} (hy : y ∈ Ioc a (a + p)) : |
(and elsewhere)
…[simp], fix Set. prefix
|
Thank you @loefflerd. I should have addressed all your review comments. |
Update the upstreaming status comments for files that have been PRed to mathlib: - `Analysis/MeanInequalitiesPow` leanprover-community/mathlib4#37547 - `Order/LiminfLimsup` leanprover-community/mathlib4#37549 (merged) - `Topology/Order/Basic` leanprover-community/mathlib4#37550 (moved to DenselyOrdered) - `MeasureTheory/Integral/Average` leanprover-community/mathlib4#37551 - `MeasureTheory/Measure/ENNReal` leanprover-community/mathlib4#37552 (generalized to `measurable_iSup_of_lowerSemicontinuous`) - `MeasureTheory/Integral/Lebesgue` leanprover-community/mathlib4#37558 (merged) - `MeasureTheory/Function/LpSpace/Indicator` leanprover-community/mathlib4#37559 - `MeasureTheory/Function/LpSpace/ContinuousFunctions` leanprover-community/mathlib4#37560 - `Data/ENNReal` leanprover-community/mathlib4#37565 (partial) - `MeasureTheory/Integral/Bochner/ContinuousLinearMap` leanprover-community/mathlib4#37568 (partial) - `Topology/Instances/AddCircle/Defs` leanprover-community/mathlib4#37570 (partial) - `Discrete/SumEstimates` leanprover-community/mathlib4#37597 Also notes that `IntegrableAtFilter.congr` and `integrableOn_of_integrableOn_inter_support` already exist in mathlib.
loefflerd
left a comment
There was a problem hiding this comment.
LGTM – just a tiny formatting nit to finish
maintainer delegate
|
🚀 Pull request has been placed on the maintainer queue by loefflerd. |
Co-authored-by: David Loeffler <[email protected]>
faenuccio
left a comment
There was a problem hiding this comment.
Thanks, I left a couple of stylistic comments, but then you can go.
|
bors d+ |
|
✌️ pitmonticone can now approve this pull request. To approve and merge a pull request, simply reply with |
Co-authored-by: Filippo A. E. Nuccio <[email protected]>
|
bora r+ |
|
@pitmonticone I think you may have a typo |
|
Ops, thanks! |
|
bors r+ |
…iv lemmas (#37570) Add AddCircle lemmas: - `liftIoc_eq_liftIco_of_ne`: the Ioc and Ico lifts agree away from the basepoint - `coe_eq_coe_iff_of_mem_Ioc`: Ioc analogue of `coe_eq_coe_iff_of_mem_Ico` - `eq_coe_Ioc`: Ioc analogue of `eq_coe_Ico` - `coe_equivIoc`: Ioc analogue of `coe_equivIco` - `equivIoc_coe_of_mem`: if `y ∈ Ioc a (a + p)`, then `equivIoc p a y = y` Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project. Co-authored-by: James Sundstrom <[email protected]> Co-authored-by: Leo Diedering <[email protected]> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
|
Pull request successfully merged into master. Build succeeded: |
Add AddCircle lemmas:
liftIoc_eq_liftIco_of_ne: the Ioc and Ico lifts agree away from the basepointcoe_eq_coe_iff_of_mem_Ioc: Ioc analogue ofcoe_eq_coe_iff_of_mem_Icoeq_coe_Ioc: Ioc analogue ofeq_coe_Icocoe_equivIoc: Ioc analogue ofcoe_equivIcoequivIoc_coe_of_mem: ify ∈ Ioc a (a + p), thenequivIoc p a y = yUpstreamed from the Carleson project.
Co-authored-by: James Sundstrom [email protected]
Co-authored-by: Leo Diedering [email protected]