Opened 5 months ago
Last modified 4 weeks ago
#34461 new enhancement
FacadeInclusionMorphism
Reported by: | mkoeppe | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.9 |
Component: | categories | Keywords: | |
Cc: | tscrim | Merged in: | |
Authors: | Matthias Koeppe | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | u/mkoeppe/facadeinclusionmorphism (Commits, GitHub, GitLab) | Commit: | 5db7f09b61764f63d00f388edc45d271ef852f20 |
Dependencies: | Stopgaps: |
Description (last modified by )
To discuss the notion of "set inclusion" in the presence of coercion, we need to be able to discover inclusion morphisms (= injective coercion morphisms).
One mechanism to model subsets is through facade sets. But the relation of facade parents to the parent that they are a facade to is not known to the coercion system.
By registering a FacadeInclusionMorphism
as a coercion, we can make this relation discoverable.
sage: from sage.categories.pushout import pushout sage: from sage.categories.morphism import FacadeInclusionMorphism sage: S = Sets().Facade().example(); S An example of facade set: the monoid of positive integers sage: iota = FacadeInclusionMorphism(Hom(S, ZZ)) sage: iota.register_as_coercion() sage: pushout(S, ZZ) Integer Ring
Change History (5)
comment:1 Changed 5 months ago by
Branch: | → u/mkoeppe/facadeinclusionmorphism |
---|
comment:2 Changed 5 months ago by
Authors: | → Matthias Koeppe |
---|---|
Cc: | tscrim added |
Commit: | → 5db7f09b61764f63d00f388edc45d271ef852f20 |
Description: | modified (diff) |
comment:3 Changed 5 months ago by
Description: | modified (diff) |
---|
comment:4 Changed 5 months ago by
Milestone: | sage-9.7 → sage-9.8 |
---|
comment:5 Changed 4 weeks ago by
Milestone: | sage-9.8 → sage-9.9 |
---|
Note: See
TracTickets for help on using
tickets.
New commits:
src/sage/categories/morphism.pyx (FacadeInclusionMorphism): New