Sage: Ticket #31785: Category of open subsets of a topological space
https://trac.sagemath.org/ticket/31785
<p>
We define the category of open subsets of a topological space.
</p>
<ul><li>The category is a <code>CategoryWithParameters</code>
</li><li>A parent is an open subset.
</li><li>An element is a point in the open subset.
</li><li>A morphism is an inclusion map.
</li></ul><p>
A concrete implementation for open subsets of a topological manifold:
</p>
<ul><li>A parent has a <code>ManifoldSubsetFamily</code> instance that stores the equivalence class of named subsets that are known to be equal
</li></ul><p>
This is preparation for <a class="needs_info ticket" href="https://trac.sagemath.org/ticket/31703" title="#31703: enhancement: Sheaves on manifolds (needs_info)">#31703</a>.
</p>
en-usSagehttps://trac.sagemath.org/chrome/site/logo_sagemath_trac.png
https://trac.sagemath.org/ticket/31785
Trac 1.2Michael JungSun, 16 May 2021 20:34:35 GMT
https://trac.sagemath.org/ticket/31785#comment:1
https://trac.sagemath.org/ticket/31785#comment:1
<p>
Why do we need a category of open sets? Wouldn't it be better to represent the actual <em>set</em> of open subsets, i.e. the set-theoretic notion of topology? This is then an object of the category of topologies.
</p>
<p>
As for the parent-element framework this would mean: the topology is the parent, and its elements are open subsets.
</p>
TicketMichael JungSun, 16 May 2021 20:34:58 GMT
https://trac.sagemath.org/ticket/31785#comment:2
https://trac.sagemath.org/ticket/31785#comment:2
<p>
At least this would be helpful in view of <a class="needs_info ticket" href="https://trac.sagemath.org/ticket/31703" title="#31703: enhancement: Sheaves on manifolds (needs_info)">#31703</a>.
</p>
TicketTravis ScrimshawMon, 17 May 2021 01:05:33 GMT
https://trac.sagemath.org/ticket/31785#comment:3
https://trac.sagemath.org/ticket/31785#comment:3
<p>
There are two possible ways to think about this. One is the category is the category of open subsets of <code>X</code>, the other is the category of open subobjects. The other would be a singleton category as a subcategory of the category of subobjects of <code>TopologicalSpaces</code>. 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.
</p>
TicketMichael JungMon, 17 May 2021 03:55:21 GMT
https://trac.sagemath.org/ticket/31785#comment:4
https://trac.sagemath.org/ticket/31785#comment:4
<p>
Okay, once again: why do we need this category?
</p>
TicketMatthias KöppeMon, 17 May 2021 03:57:07 GMT
https://trac.sagemath.org/ticket/31785#comment:5
https://trac.sagemath.org/ticket/31785#comment:5
<p>
When inclusions are maps, then the compatibility of restrictions of sections is the functorial property.
</p>
TicketMichael JungMon, 17 May 2021 04:08:30 GMT
https://trac.sagemath.org/ticket/31785#comment:6
https://trac.sagemath.org/ticket/31785#comment:6
<p>
Now I see what you meant with functorial property.
</p>
<p>
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?
</p>
TicketMichael JungMon, 17 May 2021 04:13:54 GMT
https://trac.sagemath.org/ticket/31785#comment:7
https://trac.sagemath.org/ticket/31785#comment:7
<p>
Or do we think of the Homset being empty in that case?
</p>
TicketMichael JungMon, 17 May 2021 04:19:32 GMT
https://trac.sagemath.org/ticket/31785#comment:8
https://trac.sagemath.org/ticket/31785#comment:8
<p>
Ah, I suppose you see the open sets as posets again and you take the induced category, right?
</p>
TicketMichael JungMon, 17 May 2021 04:29:49 GMT
https://trac.sagemath.org/ticket/31785#comment:9
https://trac.sagemath.org/ticket/31785#comment:9
<p>
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.
</p>
TicketTravis ScrimshawMon, 17 May 2021 05:01:55 GMT
https://trac.sagemath.org/ticket/31785#comment:10
https://trac.sagemath.org/ticket/31785#comment:10
<p>
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.
</p>
<p>
Also, in case it isn't clear, it is okay to have the homset be empty.
</p>
TicketMichael JungMon, 17 May 2021 05:23:07 GMT
https://trac.sagemath.org/ticket/31785#comment:11
https://trac.sagemath.org/ticket/31785#comment:11
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/31785#comment:10" title="Comment 10">tscrim</a>:
</p>
<blockquote class="citation">
<p>
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.
</p>
</blockquote>
<p>
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.
</p>
<blockquote class="citation">
<p>
Also, in case it isn't clear, it is okay to have the homset be empty.
</p>
</blockquote>
<p>
Yes, it is clear. But I just learned category theory and some things still confuse me at the first glimpse.
</p>
TicketMichael JungMon, 17 May 2021 05:33:30 GMT
https://trac.sagemath.org/ticket/31785#comment:12
https://trac.sagemath.org/ticket/31785#comment:12
<p>
Example at hand:
</p>
<pre class="wiki">sage: Homset(1, 2)
Set of Morphisms from 1 to 2 in Category of elements of Integer Ring
</pre><p>
I'd rather like to see open subsets as objects of the category of elements of a topology than giving it a bare category.
</p>
TicketMichael JungSat, 22 May 2021 08:11:53 GMT
https://trac.sagemath.org/ticket/31785#comment:13
https://trac.sagemath.org/ticket/31785#comment:13
<p>
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.
</p>
<p>
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).
</p>
TicketMichael JungMon, 24 May 2021 20:15:18 GMT
https://trac.sagemath.org/ticket/31785#comment:14
https://trac.sagemath.org/ticket/31785#comment:14
<p>
Already made a proposal in <a class="needs_info ticket" href="https://trac.sagemath.org/ticket/31703" title="#31703: enhancement: Sheaves on manifolds (needs_info)">#31703</a>. This now relies on what happens here.
</p>
<p>
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.
</p>
TicketMatthias KöppeMon, 19 Jul 2021 01:16:42 GMTmilestone changed
https://trac.sagemath.org/ticket/31785#comment:15
https://trac.sagemath.org/ticket/31785#comment:15
<ul>
<li><strong>milestone</strong>
changed from <em>sage-9.4</em> to <em>sage-9.5</em>
</li>
</ul>
TicketMatthias KöppeTue, 14 Dec 2021 02:04:49 GMTmilestone changed
https://trac.sagemath.org/ticket/31785#comment:16
https://trac.sagemath.org/ticket/31785#comment:16
<ul>
<li><strong>milestone</strong>
changed from <em>sage-9.5</em> to <em>sage-9.6</em>
</li>
</ul>
TicketMatthias KöppeSat, 05 Mar 2022 00:06:20 GMTmilestone changed
https://trac.sagemath.org/ticket/31785#comment:17
https://trac.sagemath.org/ticket/31785#comment:17
<ul>
<li><strong>milestone</strong>
changed from <em>sage-9.6</em> to <em>sage-9.7</em>
</li>
</ul>
TicketMatthias KöppeWed, 31 Aug 2022 02:51:13 GMTmilestone changed
https://trac.sagemath.org/ticket/31785#comment:18
https://trac.sagemath.org/ticket/31785#comment:18
<ul>
<li><strong>milestone</strong>
changed from <em>sage-9.7</em> to <em>sage-9.8</em>
</li>
</ul>
TicketMatthias KöppeWed, 31 Aug 2022 17:54:14 GMTdependencies set
https://trac.sagemath.org/ticket/31785#comment:19
https://trac.sagemath.org/ticket/31785#comment:19
<ul>
<li><strong>dependencies</strong>
set to <em>#34461</em>
</li>
</ul>
Ticket