Skip to content
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] - chore: improve defeq for Sup and sSup of LieSubmodules #7608

Closed
wants to merge 5 commits into from

Conversation

ocfnash
Copy link
Contributor

@ocfnash ocfnash commented Oct 10, 2023

The point is that the following four lemmas are now all true by definition:

  • LieSubmodule.inf_coe_toSubmodule
  • LieSubmodule.sInf_coe_toSubmodule
  • LieSubmodule.sup_coe_toSubmodule [previously existed but not true by definition]
  • LieSubmodule.sSup_coe_toSubmodule [previously did not exist]

Open in Gitpod

@ocfnash ocfnash added awaiting-review The author would like community review of the PR awaiting-CI t-algebra Algebra (groups, rings, fields etc) labels Oct 10, 2023
and some tiny additional golfing
Unfortunately because `C` is dependent, its type cannot be passed to
`Submodule.iSup_induction'` so I have to provide a proof here.
I have just copied the proof of `Submodule.iSup_induction'`.
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 🎉

bors merge

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review The author would like community review of the PR labels Oct 12, 2023
bors bot pushed a commit that referenced this pull request Oct 12, 2023
The point is that the following four lemmas are now all true by definition:

- `LieSubmodule.inf_coe_toSubmodule`
- `LieSubmodule.sInf_coe_toSubmodule`
- `LieSubmodule.sup_coe_toSubmodule` [previously existed but not true by definition]
- `LieSubmodule.sSup_coe_toSubmodule` [previously did not exist]
Comment on lines +524 to +535
@[elab_as_elim]
theorem iSup_induction' {ι} (N : ι → LieSubmodule R L M) {C : (x : M) → (x ∈ ⨆ i, N i) → Prop}
(hN : ∀ (i) (x) (hx : x ∈ N i), C x (mem_iSup_of_mem i hx)) (h0 : C 0 (zero_mem _))
(hadd : ∀ x y hx hy, C x hx → C y hy → C (x + y) (add_mem ‹_› ‹_›)) {x : M}
(hx : x ∈ ⨆ i, N i) : C x hx := by
refine' Exists.elim _ fun (hx : x ∈ ⨆ i, N i) (hc : C x hx) => hc
refine' iSup_induction N (C := fun x : M ↦ ∃ (hx : x ∈ ⨆ i, N i), C x hx) hx
(fun i x hx => _) _ fun x y => _
· exact ⟨_, hN _ _ hx⟩
· exact ⟨_, h0⟩
· rintro ⟨_, Cx⟩ ⟨_, Cy⟩
refine' ⟨_, hadd _ _ _ _ Cx Cy⟩
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to golf this by proving it in terms of the submodule version, but ran afoul of leanprover/lean4#1926

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for trying all the same!

@bors
Copy link

bors bot commented Oct 12, 2023

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.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors bot changed the title chore: improve defeq for Sup and sSup of LieSubmodules [Merged by Bors] - chore: improve defeq for Sup and sSup of LieSubmodules Oct 12, 2023
@bors bors bot closed this Oct 12, 2023
@bors bors bot deleted the ocfnash/lie_lattice branch October 12, 2023 12:33
grunweg pushed a commit that referenced this pull request Oct 13, 2023
The point is that the following four lemmas are now all true by definition:

- `LieSubmodule.inf_coe_toSubmodule`
- `LieSubmodule.sInf_coe_toSubmodule`
- `LieSubmodule.sup_coe_toSubmodule` [previously existed but not true by definition]
- `LieSubmodule.sSup_coe_toSubmodule` [previously did not exist]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants