When is a functor uniquely determined by where it sends objects?
$begingroup$
Consider a functor $F : C to D$ . Let $F_1$ be a map from the objects of $C$ to the objects of $D$ and $F_2$ be a map on the arrows. Under what circumstances is $F$ uniquely determined by $F_1$ ?
Example 1
In a discussion with friends yesterday, the list type constructor [a]
in Haskell was brought up as an example of an endofunctor $G$ of "Hask" (the category whose objects are Haskell types and morphisms are values). We conjectured that there's exactly one way to send arrows to arrows with $G$ once you picked where the types were sent. In other words, let $K$ be an endofunctor of $text{Hask}$ . If $K_1 = G_1$ , then $K = G$ .
Restating Example 1 without referring to programming. Let $W$ be the category defined as follows:
The objects of $W$ are types in a typed lambda calculus with function types $to $, products $times$ , sums $+$ , and isorecursive types $mu alpha mathop{.} T$ . The primitive types are $0$ (void) and $1$ (unit). Note that recursive types exist, but parametric polymorphism does not.
The arrows of $W$ are the values in the typed lambda calculus outlined above that are functions. For instance, $ lambda x. pi_1(x) $ is an element of homset from $(1 times 1)$ to $1$ . The values are only considered up to extensional equality. So $lambda x . x + x$ and $lambda x . 2 * x$ denote the same arrow.
The list functor $G$ , sends the object $3$ to $mu alpha mathop{.} 1 + 3 times alpha$ ... which is a list of values drawn from the type $3$ . I'm deliberately being vague about whether values of recursive types can be infinite or not. I think the argument works out regardless of whether infinite lists are permitted or forbidden.
I think it's the case that the functor laws constrain $G$ so that an arrow $f$ is mapped to an arrow that applies the function $f$ once to every item in the list and then assembles the list in the same order, without duplicating or deleting elements.
Counterexample 2
Let $M$ be a free category with one object $a$ generated by the non-identity arrow $f : a to a$ . $M$ is isomorphic to $mathbb{N}$ . The endofunctor $J$, defined as $J_1(x) = x$ and $J_2(x) = 2x$ , trivially maps the objects the same way as the identity functor does, but is not the identity functor.
Is there a neat set of conditions that, when met, force a functor to be uniquely determined by where it sends objects?
category-theory
$endgroup$
add a comment |
$begingroup$
Consider a functor $F : C to D$ . Let $F_1$ be a map from the objects of $C$ to the objects of $D$ and $F_2$ be a map on the arrows. Under what circumstances is $F$ uniquely determined by $F_1$ ?
Example 1
In a discussion with friends yesterday, the list type constructor [a]
in Haskell was brought up as an example of an endofunctor $G$ of "Hask" (the category whose objects are Haskell types and morphisms are values). We conjectured that there's exactly one way to send arrows to arrows with $G$ once you picked where the types were sent. In other words, let $K$ be an endofunctor of $text{Hask}$ . If $K_1 = G_1$ , then $K = G$ .
Restating Example 1 without referring to programming. Let $W$ be the category defined as follows:
The objects of $W$ are types in a typed lambda calculus with function types $to $, products $times$ , sums $+$ , and isorecursive types $mu alpha mathop{.} T$ . The primitive types are $0$ (void) and $1$ (unit). Note that recursive types exist, but parametric polymorphism does not.
The arrows of $W$ are the values in the typed lambda calculus outlined above that are functions. For instance, $ lambda x. pi_1(x) $ is an element of homset from $(1 times 1)$ to $1$ . The values are only considered up to extensional equality. So $lambda x . x + x$ and $lambda x . 2 * x$ denote the same arrow.
The list functor $G$ , sends the object $3$ to $mu alpha mathop{.} 1 + 3 times alpha$ ... which is a list of values drawn from the type $3$ . I'm deliberately being vague about whether values of recursive types can be infinite or not. I think the argument works out regardless of whether infinite lists are permitted or forbidden.
I think it's the case that the functor laws constrain $G$ so that an arrow $f$ is mapped to an arrow that applies the function $f$ once to every item in the list and then assembles the list in the same order, without duplicating or deleting elements.
Counterexample 2
Let $M$ be a free category with one object $a$ generated by the non-identity arrow $f : a to a$ . $M$ is isomorphic to $mathbb{N}$ . The endofunctor $J$, defined as $J_1(x) = x$ and $J_2(x) = 2x$ , trivially maps the objects the same way as the identity functor does, but is not the identity functor.
Is there a neat set of conditions that, when met, force a functor to be uniquely determined by where it sends objects?
category-theory
$endgroup$
2
$begingroup$
But you've given no reason whatsoever for your conjecture about the list monad. Why do you think that?
$endgroup$
– Kevin Carlson
Dec 4 '18 at 23:13
$begingroup$
@KevinCarlson I think you're right and $G$ doesn't work as an example without additional restrictions. I concluded that $G_2(f)$ must apply $f$ to every element of the list without deleting elements, inserting elements, or changing their order. I think that's true if $G$ is constrained to be representable as a parametrically polymorphic function likemap
in Haskell, but not true generally.
$endgroup$
– Gregory Nisbet
Dec 5 '18 at 21:26
add a comment |
$begingroup$
Consider a functor $F : C to D$ . Let $F_1$ be a map from the objects of $C$ to the objects of $D$ and $F_2$ be a map on the arrows. Under what circumstances is $F$ uniquely determined by $F_1$ ?
Example 1
In a discussion with friends yesterday, the list type constructor [a]
in Haskell was brought up as an example of an endofunctor $G$ of "Hask" (the category whose objects are Haskell types and morphisms are values). We conjectured that there's exactly one way to send arrows to arrows with $G$ once you picked where the types were sent. In other words, let $K$ be an endofunctor of $text{Hask}$ . If $K_1 = G_1$ , then $K = G$ .
Restating Example 1 without referring to programming. Let $W$ be the category defined as follows:
The objects of $W$ are types in a typed lambda calculus with function types $to $, products $times$ , sums $+$ , and isorecursive types $mu alpha mathop{.} T$ . The primitive types are $0$ (void) and $1$ (unit). Note that recursive types exist, but parametric polymorphism does not.
The arrows of $W$ are the values in the typed lambda calculus outlined above that are functions. For instance, $ lambda x. pi_1(x) $ is an element of homset from $(1 times 1)$ to $1$ . The values are only considered up to extensional equality. So $lambda x . x + x$ and $lambda x . 2 * x$ denote the same arrow.
The list functor $G$ , sends the object $3$ to $mu alpha mathop{.} 1 + 3 times alpha$ ... which is a list of values drawn from the type $3$ . I'm deliberately being vague about whether values of recursive types can be infinite or not. I think the argument works out regardless of whether infinite lists are permitted or forbidden.
I think it's the case that the functor laws constrain $G$ so that an arrow $f$ is mapped to an arrow that applies the function $f$ once to every item in the list and then assembles the list in the same order, without duplicating or deleting elements.
Counterexample 2
Let $M$ be a free category with one object $a$ generated by the non-identity arrow $f : a to a$ . $M$ is isomorphic to $mathbb{N}$ . The endofunctor $J$, defined as $J_1(x) = x$ and $J_2(x) = 2x$ , trivially maps the objects the same way as the identity functor does, but is not the identity functor.
Is there a neat set of conditions that, when met, force a functor to be uniquely determined by where it sends objects?
category-theory
$endgroup$
Consider a functor $F : C to D$ . Let $F_1$ be a map from the objects of $C$ to the objects of $D$ and $F_2$ be a map on the arrows. Under what circumstances is $F$ uniquely determined by $F_1$ ?
Example 1
In a discussion with friends yesterday, the list type constructor [a]
in Haskell was brought up as an example of an endofunctor $G$ of "Hask" (the category whose objects are Haskell types and morphisms are values). We conjectured that there's exactly one way to send arrows to arrows with $G$ once you picked where the types were sent. In other words, let $K$ be an endofunctor of $text{Hask}$ . If $K_1 = G_1$ , then $K = G$ .
Restating Example 1 without referring to programming. Let $W$ be the category defined as follows:
The objects of $W$ are types in a typed lambda calculus with function types $to $, products $times$ , sums $+$ , and isorecursive types $mu alpha mathop{.} T$ . The primitive types are $0$ (void) and $1$ (unit). Note that recursive types exist, but parametric polymorphism does not.
The arrows of $W$ are the values in the typed lambda calculus outlined above that are functions. For instance, $ lambda x. pi_1(x) $ is an element of homset from $(1 times 1)$ to $1$ . The values are only considered up to extensional equality. So $lambda x . x + x$ and $lambda x . 2 * x$ denote the same arrow.
The list functor $G$ , sends the object $3$ to $mu alpha mathop{.} 1 + 3 times alpha$ ... which is a list of values drawn from the type $3$ . I'm deliberately being vague about whether values of recursive types can be infinite or not. I think the argument works out regardless of whether infinite lists are permitted or forbidden.
I think it's the case that the functor laws constrain $G$ so that an arrow $f$ is mapped to an arrow that applies the function $f$ once to every item in the list and then assembles the list in the same order, without duplicating or deleting elements.
Counterexample 2
Let $M$ be a free category with one object $a$ generated by the non-identity arrow $f : a to a$ . $M$ is isomorphic to $mathbb{N}$ . The endofunctor $J$, defined as $J_1(x) = x$ and $J_2(x) = 2x$ , trivially maps the objects the same way as the identity functor does, but is not the identity functor.
Is there a neat set of conditions that, when met, force a functor to be uniquely determined by where it sends objects?
category-theory
category-theory
edited Dec 4 '18 at 22:27
Gregory Nisbet
asked Dec 4 '18 at 22:22
Gregory NisbetGregory Nisbet
561312
561312
2
$begingroup$
But you've given no reason whatsoever for your conjecture about the list monad. Why do you think that?
$endgroup$
– Kevin Carlson
Dec 4 '18 at 23:13
$begingroup$
@KevinCarlson I think you're right and $G$ doesn't work as an example without additional restrictions. I concluded that $G_2(f)$ must apply $f$ to every element of the list without deleting elements, inserting elements, or changing their order. I think that's true if $G$ is constrained to be representable as a parametrically polymorphic function likemap
in Haskell, but not true generally.
$endgroup$
– Gregory Nisbet
Dec 5 '18 at 21:26
add a comment |
2
$begingroup$
But you've given no reason whatsoever for your conjecture about the list monad. Why do you think that?
$endgroup$
– Kevin Carlson
Dec 4 '18 at 23:13
$begingroup$
@KevinCarlson I think you're right and $G$ doesn't work as an example without additional restrictions. I concluded that $G_2(f)$ must apply $f$ to every element of the list without deleting elements, inserting elements, or changing their order. I think that's true if $G$ is constrained to be representable as a parametrically polymorphic function likemap
in Haskell, but not true generally.
$endgroup$
– Gregory Nisbet
Dec 5 '18 at 21:26
2
2
$begingroup$
But you've given no reason whatsoever for your conjecture about the list monad. Why do you think that?
$endgroup$
– Kevin Carlson
Dec 4 '18 at 23:13
$begingroup$
But you've given no reason whatsoever for your conjecture about the list monad. Why do you think that?
$endgroup$
– Kevin Carlson
Dec 4 '18 at 23:13
$begingroup$
@KevinCarlson I think you're right and $G$ doesn't work as an example without additional restrictions. I concluded that $G_2(f)$ must apply $f$ to every element of the list without deleting elements, inserting elements, or changing their order. I think that's true if $G$ is constrained to be representable as a parametrically polymorphic function like
map
in Haskell, but not true generally.$endgroup$
– Gregory Nisbet
Dec 5 '18 at 21:26
$begingroup$
@KevinCarlson I think you're right and $G$ doesn't work as an example without additional restrictions. I concluded that $G_2(f)$ must apply $f$ to every element of the list without deleting elements, inserting elements, or changing their order. I think that's true if $G$ is constrained to be representable as a parametrically polymorphic function like
map
in Haskell, but not true generally.$endgroup$
– Gregory Nisbet
Dec 5 '18 at 21:26
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
This is quite rare and will pretty much never happen for the typical sort of "category of all structures of a certain type" (as opposed to "diagram-like categories" like posets or monoids). In particular, suppose that $F:Cto D$ is a functor, $c$ is an object of $C$, and $i:F(c)to F(c)$ is an automorphism in $D$. Then we can define another functor $F':Cto D$ as follows. For all objects $a$, $F'(a)=F(a)$. For a morphism $f:ato b$ with $a,bneq c$, $F'(f)=F(f)$. For a morphism $f:ato c$ with $aneq c$, $F'(f)=iF(f)$. For a morphism $f:cto b$ with $bneq c$, $F'(f)=F(f)i^{-1}$. Finally, for a morphism $f:cto c$, $F(f)=iF(f)i^{-1}$.
It is easy to check that this $F'$ is indeed a functor. Intuitively, it is the same functor as $F$, except that we've "relabeled" $F(c)$ by the isomorphism $i$. Indeed, $F'$ is naturally isomorphic to $F$, by a natural isomorphism that is the identity on all objects except $c$ but is $i$ on $c$.
Since $F'$ is the same on objects as $F$, this will be a counterexample unless $F'$ happens to be equal to $F$. This will rarely be the case for every possible choice of $c$ and $i$. For instance, if $F$ is faithful, this implies the automorphism group of every object of $C$ must be abelian (otherwise pick $i$ to be the image of some noncentral automorphism of an object $c$, and $F'$ will not agree with $F$ on automorphisms of $c$). This should in particular show that your list functor is actually not uniquely determined by where it sends objects.
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3026260%2fwhen-is-a-functor-uniquely-determined-by-where-it-sends-objects%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
This is quite rare and will pretty much never happen for the typical sort of "category of all structures of a certain type" (as opposed to "diagram-like categories" like posets or monoids). In particular, suppose that $F:Cto D$ is a functor, $c$ is an object of $C$, and $i:F(c)to F(c)$ is an automorphism in $D$. Then we can define another functor $F':Cto D$ as follows. For all objects $a$, $F'(a)=F(a)$. For a morphism $f:ato b$ with $a,bneq c$, $F'(f)=F(f)$. For a morphism $f:ato c$ with $aneq c$, $F'(f)=iF(f)$. For a morphism $f:cto b$ with $bneq c$, $F'(f)=F(f)i^{-1}$. Finally, for a morphism $f:cto c$, $F(f)=iF(f)i^{-1}$.
It is easy to check that this $F'$ is indeed a functor. Intuitively, it is the same functor as $F$, except that we've "relabeled" $F(c)$ by the isomorphism $i$. Indeed, $F'$ is naturally isomorphic to $F$, by a natural isomorphism that is the identity on all objects except $c$ but is $i$ on $c$.
Since $F'$ is the same on objects as $F$, this will be a counterexample unless $F'$ happens to be equal to $F$. This will rarely be the case for every possible choice of $c$ and $i$. For instance, if $F$ is faithful, this implies the automorphism group of every object of $C$ must be abelian (otherwise pick $i$ to be the image of some noncentral automorphism of an object $c$, and $F'$ will not agree with $F$ on automorphisms of $c$). This should in particular show that your list functor is actually not uniquely determined by where it sends objects.
$endgroup$
add a comment |
$begingroup$
This is quite rare and will pretty much never happen for the typical sort of "category of all structures of a certain type" (as opposed to "diagram-like categories" like posets or monoids). In particular, suppose that $F:Cto D$ is a functor, $c$ is an object of $C$, and $i:F(c)to F(c)$ is an automorphism in $D$. Then we can define another functor $F':Cto D$ as follows. For all objects $a$, $F'(a)=F(a)$. For a morphism $f:ato b$ with $a,bneq c$, $F'(f)=F(f)$. For a morphism $f:ato c$ with $aneq c$, $F'(f)=iF(f)$. For a morphism $f:cto b$ with $bneq c$, $F'(f)=F(f)i^{-1}$. Finally, for a morphism $f:cto c$, $F(f)=iF(f)i^{-1}$.
It is easy to check that this $F'$ is indeed a functor. Intuitively, it is the same functor as $F$, except that we've "relabeled" $F(c)$ by the isomorphism $i$. Indeed, $F'$ is naturally isomorphic to $F$, by a natural isomorphism that is the identity on all objects except $c$ but is $i$ on $c$.
Since $F'$ is the same on objects as $F$, this will be a counterexample unless $F'$ happens to be equal to $F$. This will rarely be the case for every possible choice of $c$ and $i$. For instance, if $F$ is faithful, this implies the automorphism group of every object of $C$ must be abelian (otherwise pick $i$ to be the image of some noncentral automorphism of an object $c$, and $F'$ will not agree with $F$ on automorphisms of $c$). This should in particular show that your list functor is actually not uniquely determined by where it sends objects.
$endgroup$
add a comment |
$begingroup$
This is quite rare and will pretty much never happen for the typical sort of "category of all structures of a certain type" (as opposed to "diagram-like categories" like posets or monoids). In particular, suppose that $F:Cto D$ is a functor, $c$ is an object of $C$, and $i:F(c)to F(c)$ is an automorphism in $D$. Then we can define another functor $F':Cto D$ as follows. For all objects $a$, $F'(a)=F(a)$. For a morphism $f:ato b$ with $a,bneq c$, $F'(f)=F(f)$. For a morphism $f:ato c$ with $aneq c$, $F'(f)=iF(f)$. For a morphism $f:cto b$ with $bneq c$, $F'(f)=F(f)i^{-1}$. Finally, for a morphism $f:cto c$, $F(f)=iF(f)i^{-1}$.
It is easy to check that this $F'$ is indeed a functor. Intuitively, it is the same functor as $F$, except that we've "relabeled" $F(c)$ by the isomorphism $i$. Indeed, $F'$ is naturally isomorphic to $F$, by a natural isomorphism that is the identity on all objects except $c$ but is $i$ on $c$.
Since $F'$ is the same on objects as $F$, this will be a counterexample unless $F'$ happens to be equal to $F$. This will rarely be the case for every possible choice of $c$ and $i$. For instance, if $F$ is faithful, this implies the automorphism group of every object of $C$ must be abelian (otherwise pick $i$ to be the image of some noncentral automorphism of an object $c$, and $F'$ will not agree with $F$ on automorphisms of $c$). This should in particular show that your list functor is actually not uniquely determined by where it sends objects.
$endgroup$
This is quite rare and will pretty much never happen for the typical sort of "category of all structures of a certain type" (as opposed to "diagram-like categories" like posets or monoids). In particular, suppose that $F:Cto D$ is a functor, $c$ is an object of $C$, and $i:F(c)to F(c)$ is an automorphism in $D$. Then we can define another functor $F':Cto D$ as follows. For all objects $a$, $F'(a)=F(a)$. For a morphism $f:ato b$ with $a,bneq c$, $F'(f)=F(f)$. For a morphism $f:ato c$ with $aneq c$, $F'(f)=iF(f)$. For a morphism $f:cto b$ with $bneq c$, $F'(f)=F(f)i^{-1}$. Finally, for a morphism $f:cto c$, $F(f)=iF(f)i^{-1}$.
It is easy to check that this $F'$ is indeed a functor. Intuitively, it is the same functor as $F$, except that we've "relabeled" $F(c)$ by the isomorphism $i$. Indeed, $F'$ is naturally isomorphic to $F$, by a natural isomorphism that is the identity on all objects except $c$ but is $i$ on $c$.
Since $F'$ is the same on objects as $F$, this will be a counterexample unless $F'$ happens to be equal to $F$. This will rarely be the case for every possible choice of $c$ and $i$. For instance, if $F$ is faithful, this implies the automorphism group of every object of $C$ must be abelian (otherwise pick $i$ to be the image of some noncentral automorphism of an object $c$, and $F'$ will not agree with $F$ on automorphisms of $c$). This should in particular show that your list functor is actually not uniquely determined by where it sends objects.
answered Dec 4 '18 at 23:40
Eric WofseyEric Wofsey
181k12208336
181k12208336
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3026260%2fwhen-is-a-functor-uniquely-determined-by-where-it-sends-objects%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
$begingroup$
But you've given no reason whatsoever for your conjecture about the list monad. Why do you think that?
$endgroup$
– Kevin Carlson
Dec 4 '18 at 23:13
$begingroup$
@KevinCarlson I think you're right and $G$ doesn't work as an example without additional restrictions. I concluded that $G_2(f)$ must apply $f$ to every element of the list without deleting elements, inserting elements, or changing their order. I think that's true if $G$ is constrained to be representable as a parametrically polymorphic function like
map
in Haskell, but not true generally.$endgroup$
– Gregory Nisbet
Dec 5 '18 at 21:26