-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: The finite product of semi-rings (in terms of measure theory) is a semi-ring. #22714
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
Closed
Closed
Changes from 22 commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
d5d8e26
initialized piSemiring
pfaffelh 30f2cdb
at the main step
3348c96
reached interesting spot
36c20da
on step
a61371a
not done
ebd5dbc
Merge branch 'master' into pfaffelh_SemiringPi
pfaffelh 35250e2
Merge branch 'master' into pfaffelh_SemiringPi
ab0c0c4
further in the proof
0e08506
Merge branch 'pfaffelh_SemiringPi' of https://github.com/leanprover-c…
pfaffelh 3512e35
further in the proof2
f4f8410
Merge branch 'pfaffelh_SemiringPi' of https://github.com/leanprover-c…
pfaffelh 210f70b
zero case done
036ae96
fintype done
e8ab90e
some general results
3f8c100
golfed proof
0a7b036
Merge branch 'master' into pfaffelh_SemiringPi
aff0437
towards PR1
366154c
towards PR 2
7684058
towards PR 3
f377dbd
towards PR 4
16f9daa
repaired imports for Ring
ca8a974
Merge branch 'pfaffelh_SemiringPi' of https://github.com/leanprover-c…
pfaffelh a0fcf24
update Mathlib.lean
41fc74a
removed SetRing
300e587
restored imports
d26ee9e
Merge branch 'master' into pfaffelh_SemiringPi
fc52c42
Merge branch 'pfaffelh_SemiringPi' of https://github.com/leanprover-c…
pfaffelh 8200573
merged master
pfaffelh 1a72927
shortened proof
pfaffelh 0569a73
shortened proof2
pfaffelh 6cfc244
Merge remote-tracking branch 'origin/master' into pfaffelh_SemiringPi
pfaffelh 35d86d9
shorter
pfaffelh 2e1b212
shorter2
pfaffelh 38af6dc
Merge branch 'master' into HEAD
e8cf33b
chore: correct typo (#24559)
alreadydone bdf56ff
feat: cofinal sets (#24290)
YaelDillies 7cfdc52
chore: bump toolchain to v4.20.0-rc2 (#24561)
kim-em 8075494
feat: pow_finEquivZPowers_symm_apply (#24548)
Ruben-VandeVelde c50eec5
feat (Small) : Shrink.rec_equivShrink (#24535)
robertmaxton42 4704946
feat(Asymptotics): define `IsBigOTVS` (#23756)
urkud b4cf4f7
chore(Analysis/InnerProductSpace): make `𝕜` an explicit argument of `…
JovanGerb 6ad8465
feat(Topology/Inseparable): more mapping lemmas (#24526)
plp127 2c4fce7
feat(Algebra): finiteness of associated primes (#24242)
Thmoas-Guan 064f076
feat(Homotopy): +3 lemmas (#24564)
urkud 177dc5a
feat(CStarAlgebra): define completely positive maps (#24359)
dupuisf 67f566c
feat(Bernstein): generalize to normed spaces (#24566)
urkud bd8659e
feat(CategoryTheory): localization of linear categories (#24309)
joelriou 0897281
chore: deprecate former interaction of finite intervals and succ/pred…
YaelDillies 9cd7b0d
Merge branch 'master' into pfaffelh_SemiringPi
c67d2c6
Update Mathlib/Tactic.lean
pfaffelh 33c89e1
Update Mathlib/Tactic.lean
pfaffelh 956dc2d
resolved sth
bdadc94
resolved sth2
38724a9
merge master
18ad6e2
deprecated replaced
f8b02ec
mk_all
7d17b5c
Finite2
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -730,6 +730,23 @@ theorem pi_if {p : ι → Prop} [h : DecidablePred p] (s : Set ι) (t₁ t₂ : | |
| theorem union_pi : (s₁ ∪ s₂).pi t = s₁.pi t ∩ s₂.pi t := by | ||
| simp [pi, or_imp, forall_and, setOf_and] | ||
|
|
||
| theorem pi_antitone (h : s₁ ⊆ s₂) : s₂.pi t ⊆ s₁.pi t := by | ||
| rw [← union_diff_cancel h, union_pi] | ||
| exact Set.inter_subset_left | ||
|
|
||
| open scoped Classical in | ||
| lemma union_pi_ite_of_disjoint {s t : Set ι} {x y : (i : ι) → Set (α i)} (hst : Disjoint s t) : | ||
| ((s ∪ t).pi fun i ↦ if i ∈ s then x i else y i) = (s.pi x) ∩ (t.pi y) := by | ||
| have hx : ∀ i ∈ s, x i = if h : i ∈ s then x i else y i := by | ||
| intro i hi | ||
| simp only [dite_eq_ite, hi, ↓reduceIte] | ||
| have hy : ∀ i ∈ t, y i = if h : i ∈ s then x i else y i := by | ||
| intro i hi | ||
| have h : i ∉ s := Disjoint.not_mem_of_mem_left (id (Disjoint.symm hst)) hi | ||
| simp only [hi, hst, dite_eq_ite, h, ↓reduceIte] | ||
| rw [Set.pi_congr rfl hx, Set.pi_congr rfl hy] | ||
| exact union_pi | ||
pfaffelh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| theorem union_pi_inter | ||
| (ht₁ : ∀ i ∉ s₁, t₁ i = univ) (ht₂ : ∀ i ∉ s₂, t₂ i = univ) : | ||
| (s₁ ∪ s₂).pi (fun i ↦ t₁ i ∩ t₂ i) = s₁.pi t₁ ∩ s₂.pi t₂ := by | ||
|
|
@@ -890,6 +907,58 @@ theorem univ_pi_ite (s : Set ι) [DecidablePred (· ∈ s)] (t : ∀ i, Set (α | |
| refine forall_congr' fun i => ?_ | ||
| split_ifs with h <;> simp [h] | ||
|
|
||
| section Setdiff | ||
|
|
||
| /-- Write that set difference `(s ∪ t).pi x \ (s ∪ t).pi y` as a union. -/ | ||
| lemma pi_setdiff_eq_union (s t : Set ι) (x y : (i : ι) → Set (α i)) : | ||
| (s ∪ t).pi x \ (s ∪ t).pi y = (t.pi x \ t.pi y) ∩ (s.pi x ∩ s.pi y) ∪ | ||
| t.pi x ∩ (s.pi x \ s.pi y) := by | ||
|
||
| ext z | ||
| refine ⟨fun h ↦ ?_, fun h ↦ ?_⟩ | ||
| · simp only [mem_diff, mem_inter_iff, Set.mem_preimage, Function.eval, Set.mem_pi, not_and, | ||
| not_forall, Classical.not_imp] at h | ||
| obtain ⟨h1, ⟨j, ⟨hj1, hj2⟩⟩⟩ := h | ||
| by_cases hz : ∃ a ∈ s, z a ∉ y a | ||
| · right | ||
| simp only [mem_inter_iff, Set.mem_pi, mem_diff, not_forall, Classical.not_imp] | ||
| refine ⟨fun i hi ↦ h1 i (Set.subset_union_right hi), | ||
| fun i hi ↦ h1 i (Set.subset_union_left hi), bex_def.mpr hz⟩ | ||
| · simp only [not_exists, not_and, not_not] at hz | ||
| left | ||
| simp only [mem_inter_iff, mem_diff, Set.mem_pi, not_forall, Classical.not_imp, | ||
| Set.mem_preimage, Function.eval] | ||
| refine ⟨⟨fun i hi ↦ h1 i (Set.subset_union_right hi), ?_⟩, | ||
| fun i hi ↦ h1 i (Set.subset_union_left hi), hz⟩ | ||
| · have hj : j ∈ t := by | ||
| simp only [Set.mem_union] at hj1 | ||
| rcases hj1 with (g1 | g2) | ||
| · exact False.elim (hj2 (hz j g1)) | ||
| · exact g2 | ||
| exact ⟨j, hj, hj2⟩ | ||
| · simp only [Set.mem_union, mem_inter_iff, mem_diff, Set.mem_pi, not_forall, | ||
| Classical.not_imp] at h | ||
| simp only [mem_diff, Set.mem_pi, Set.mem_union, not_forall, Classical.not_imp] | ||
| rcases h with ⟨⟨h11, h12⟩, h2, h3⟩ | ⟨h1, h2, h3⟩ | ||
| · refine ⟨?_, ?_⟩ | ||
| · rintro i (hi1 | hi2) | ||
| · exact h2 i hi1 | ||
| · exact h11 i hi2 | ||
| · obtain ⟨x, hx1, hx2⟩ := h12 | ||
| exact ⟨x, Or.inr hx1, hx2⟩ | ||
| · refine ⟨?_, ?_⟩ | ||
| · rintro i (hi1 | hi2) | ||
| · exact h2 i hi1 | ||
| · exact h1 i hi2 | ||
| · obtain ⟨x, hx1, hx2⟩ := h3 | ||
| exact ⟨x, Or.inl hx1, hx2⟩ | ||
|
|
||
| lemma pi_setdiff_union_disjoint (s t : Set ι) (x : (i : ι) → Set (α i)) (y : (i : ι) → Set (α i)) : | ||
pfaffelh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Disjoint ((t.pi x \ t.pi y) ∩ (s.pi x ∩ s.pi y)) (t.pi x ∩ (s.pi x \ s.pi y)) := | ||
| Disjoint.mono (inter_subset_right) (inter_subset_right) <| | ||
| Disjoint.mono Set.inter_subset_right (fun ⦃_⦄ a ↦ a) <| disjoint_sdiff_right | ||
|
|
||
| end Setdiff | ||
|
|
||
| end Pi | ||
|
|
||
| end Set | ||
|
|
@@ -927,3 +996,18 @@ theorem sumPiEquivProdPi_symm_preimage_univ_pi (π : ι ⊕ ι' → Type*) (t : | |
| · rintro ⟨h₁, h₂⟩ (i|i) <;> simp <;> apply_assumption | ||
|
|
||
| end Equiv | ||
|
|
||
| section image | ||
|
|
||
| open Set | ||
| variable {ι ι' : Type*} {α : ι → Type*} | ||
|
|
||
| lemma subset_pi_image_of_subset {s : Set ι} {B C : (i : ι) → Set (Set (α i))} | ||
| (hBC : ∀ i ∈ s, B i ⊆ C i) : s.pi '' s.pi B ⊆ s.pi '' s.pi C := by | ||
pfaffelh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| simp only [Set.image_subset_iff] | ||
| intro b hb | ||
| simp only [Set.mem_preimage, Set.mem_image, Set.mem_pi] at hb ⊢ | ||
| exact ⟨b, ⟨fun i a ↦ hBC i a (hb i a), rfl⟩⟩ | ||
|
|
||
|
|
||
| end image | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.