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

Category of open subsets of a topological space #31785

Open
mkoeppe opened this issue May 6, 2021 · 15 comments
Open

Category of open subsets of a topological space #31785

mkoeppe opened this issue May 6, 2021 · 15 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented May 6, 2021

We define the category of open subsets of a topological space.

  • The category is a CategoryWithParameters
  • A parent is an open subset.
  • An element is a point in the open subset.
  • A morphism is an inclusion map.

A concrete implementation for open subsets of a topological manifold:

  • A parent has a ManifoldSubsetFamily instance that stores the equivalence class of named subsets that are known to be equal

This is preparation for #31703.

Depends on #34461

CC: @mjungmath @egourgoulhon @tscrim @tobiasdiez @mkoeppe

Component: categories

Issue created by migration from https://trac.sagemath.org/ticket/31785

@mkoeppe mkoeppe added this to the sage-9.4 milestone May 6, 2021
@mjungmath
Copy link

comment:1

Why do we need a category of open sets? Wouldn't it be better to represent the actual set of open subsets, i.e. the set-theoretic notion of topology? This is then an object of the category of topologies.

As for the parent-element framework this would mean: the topology is the parent, and its elements are open subsets.

@mjungmath
Copy link

comment:2

At least this would be helpful in view of #31703.

@tscrim
Copy link
Collaborator

tscrim commented May 17, 2021

comment:3

There are two possible ways to think about this. One is the category is the category of open subsets of X, the other is the category of open subobjects. The other would be a singleton category as a subcategory of the category of subobjects of TopologicalSpaces. I might lean towards the latter because it is conceptually more simple and less pointer hell with expressing the same information (that this is an open subset in some topological subspace) but leaving the details to the implementation.

@mjungmath
Copy link

comment:4

Okay, once again: why do we need this category?

@mkoeppe
Copy link
Contributor Author

mkoeppe commented May 17, 2021

comment:5

When inclusions are maps, then the compatibility of restrictions of sections is the functorial property.

@mjungmath
Copy link

comment:6

Now I see what you meant with functorial property.

However, morphisms must be (well) defined between all objects in the category. But not all such morphisms can be inclusions. What are morphisms between 'non-compatible' subsets?

@mjungmath
Copy link

comment:7

Or do we think of the Homset being empty in that case?

@mjungmath
Copy link

comment:8

Ah, I suppose you see the open sets as posets again and you take the induced category, right?

@mjungmath
Copy link

comment:9

But still, I don't see why we need this category. All we need then is the Homset between open subsets. I still favor implementing the topology as actual set, not as category.

@tscrim
Copy link
Collaborator

tscrim commented May 17, 2021

comment:10

Categories can be used a marker of properties of objects rather than having an explicit parameter (e.g., the finite-dimensional or finite versions of a category). It then later can be extended as a place to put common methods.

Also, in case it isn't clear, it is okay to have the homset be empty.

@mjungmath
Copy link

comment:11

Replying to @tscrim:

Categories can be used a marker of properties of objects rather than having an explicit parameter (e.g., the finite-dimensional or finite versions of a category). It then later can be extended as a place to put common methods.

The only property we need is that of the homset. Isn't it a bit overkill to give it a whole category by itself? What does speak against a concrete implementation of the topology of a manifold, which comes in handy on many occasions, and then introducing a category of topologies? The homset between elements of the topology can then be established as induced by the poset structure of subsets. These homsets can still be implemented on the level of the category of topologies.

Also, in case it isn't clear, it is okay to have the homset be empty.

Yes, it is clear. But I just learned category theory and some things still confuse me at the first glimpse.

@mjungmath
Copy link

comment:12

Example at hand:

sage: Homset(1, 2)
Set of Morphisms from 1 to 2 in Category of elements of Integer Ring

I'd rather like to see open subsets as objects of the category of elements of a topology than giving it a bare category.

@mjungmath
Copy link

comment:13

After a little chat with Travis, and a little thought myself, I think that Travis's latter proposal, i.e. seeing the category of open subsets as subcategory of subobjects of topological spaces, is indeed a good idea.

The sheaf implementation is already on a good way and doesn't necessarily need a family structure (though it would be nice from a mathematical viewpoint imo).

@mjungmath
Copy link

comment:14

Already made a proposal in #31703. This now relies on what happens here.

Even though I still like the idea of the topology being realized as a set rather than a category more, I can live with that approach, too.

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 14, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Mar 5, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 31, 2022

Dependencies: #34461

@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Jan 7, 2023
@mkoeppe mkoeppe removed this from the sage-10.0 milestone Mar 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants