Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

feat(algebra/*): morphisms from closures are equal if they agree on generators - #18836

Open
eric-wieser wants to merge 2 commits into
masterfrom
eric-wieser/span-ext
Open

feat(algebra/*): morphisms from closures are equal if they agree on generators#18836
eric-wieser wants to merge 2 commits into
masterfrom
eric-wieser/span-ext

Conversation

@eric-wieser

@eric-wieser eric-wieser commented Apr 19, 2023

Copy link
Copy Markdown
Member

This adds this statement for:

  • subsemigroup, add_subsemigroup
  • submonoid, add_submonoid
  • submodule
  • subalgebra
  • star_subalgebra

I don't add it for subsemiring or subring as these are missing the induction' lemma used to prove it.


Open in Gitpod

@eric-wieser eric-wieser added awaiting-review The author would like community review of the PR awaiting-CI The author would like to see what CI has to say before doing more work. t-algebra Algebra (groups, rings, fields etc) labels Apr 19, 2023
@github-actions github-actions Bot added the modifies-synchronized-file This PR touches a files that has already been ported to mathlib4, and may need a synchronization PR. label Apr 19, 2023
Comment on lines -613 to +620
lemma ext_adjoin {s : set A} [star_alg_hom_class F R (adjoin R s) B] {f g : F}
(h : ∀ x : adjoin R s, (x : A) ∈ s → f x = g x) : f = g :=
/-- Two star algebra morphisms from `star_subalgebra.adjoin` are equal if they agree on the
generators -/
lemma _root_.star_alg_hom_class.ext_adjoin
{s : set A} [star_alg_hom_class F R (adjoin R s) B] ⦃f g : F⦄
(h : f ∘ set.inclusion (subset_adjoin _ _) = g ∘ set.inclusion (subset_adjoin _ _)) : f = g :=

@eric-wieser eric-wieser Apr 19, 2023

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@j-loreaux, do you have thoughts on which phrasing is more useful of:

  1. f ∘ set.inclusion (subset_adjoin _ _) = g ∘ set.inclusion (subset_adjoin _ _)
  2. ∀ x : adjoin R s, (x : A) ∈ s → f x = g x
  3. ∀ (x : A) (hx : x ∈ s), f ⟨x, subset_adjoin _ _ hx⟩ = g ⟨x, subset_adjoin _ _ hx⟩

In theory the first one lets you chain further ext lemmas, but in practice I don't think any exist.

generators.

See note [partially-applied ext lemmas]. -/
@[ext] lemma ext_adjoin {s : set A} ⦃f g : adjoin R s →⋆ₐ[R] B⦄

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Unfortunately the existing lemma couldn't be tagged ext

@kim-em kim-em added the too-late This PR was ready too late for inclusion in mathlib3 label Jul 16, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

awaiting-CI The author would like to see what CI has to say before doing more work. awaiting-review The author would like community review of the PR modifies-synchronized-file This PR touches a files that has already been ported to mathlib4, and may need a synchronization PR. t-algebra Algebra (groups, rings, fields etc) too-late This PR was ready too late for inclusion in mathlib3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants