The baggage that comes with the words noun and verb is only for guiding the search for intuition and is to be discarded when it leads to confusion.
In all your interpretations of math/programming functions, there can be different arrows between the same objects. The input/output behavior is seen as part of the arrow. The objects are merely there to establish what kinds of arrows can be strung together because one produces, say, real numbers, and the other consumes them.
Well if I have a mapping (function, morphism?) that has some “rows” of
1 to 5
A to 3
B to cat
cow to france
it doesn’t seem that descriptive to say that this is a “B->5” mapping. Now usually programming functions are sensible in the sense that the inputs and outputs are of similar types. But if I am start and form the concept of morphism from the ground up how do I know whether such “mixed” types are allowed or not? Or rather given that I do not know of types how I get mapping over multiple inputs?
If your mapping contains those three pairs, then the arrow’s source object contains 1, A, B and cow, and the target object contains 5, 3, cat and france. Allowing or disallowing mixed types gives two different categories. Whether an arrow mixes types is as far as I can tell you to mean uniquely determined by whether its source or target object mix types. In either case, to compose two arrows they must have a common middle object.
I don’t know whether it is a relevant fear but just I am unsure how much the other details other than type compatibility are preserved.
Say you have a mapping O: A->1, B->3 and a mapping P: 4-> france, 5->england. You could then go that O is letters to numbers and P is numbers to countries so you go that mapping from letters to countries should exist but if you start at A or B you don’t end up at any country. Or is the case that {1,3} is a different category than {4,5} rather than letters being equal to letters?
Every category containing O and P must address this question. In the usual category of math functions, if P has only those two pairs then the source object of P is exactly {4,5}, so O and P can’t be composed. In the category of relations, that is arbitrary sets of pairs between the source and target sets, O and P would compose to the empty relation between letters and countries.
I would suspect there are rules how it works that way but now it is not intuitive for me why that would be the result. Why it would not produce the empty function? And if you have a empty relation isn’t it a relation of any type to any type at the same time? Would it or why it would not be an empty relation between letter-shapes and country-dances? But apparently you can have different kinds of empty morphisms based on what their source and target objects are.
I didn’t also realise that composing is relative to how you view the objects.
Categories are what we call it when each arrow remembers its source and target. When they don’t, and you can compose anything, it’s called a monoid. The difference is the same as between static and dynamic type systems. The more powerful your system is, the less you can prove about it, so whenever we can, we express that particular arrows can’t be composed, using definitions of source and target.
The baggage that comes with the words noun and verb is only for guiding the search for intuition and is to be discarded when it leads to confusion.
In all your interpretations of math/programming functions, there can be different arrows between the same objects. The input/output behavior is seen as part of the arrow. The objects are merely there to establish what kinds of arrows can be strung together because one produces, say, real numbers, and the other consumes them.
Well if I have a mapping (function, morphism?) that has some “rows” of
1 to 5 A to 3 B to cat cow to france
it doesn’t seem that descriptive to say that this is a “B->5” mapping. Now usually programming functions are sensible in the sense that the inputs and outputs are of similar types. But if I am start and form the concept of morphism from the ground up how do I know whether such “mixed” types are allowed or not? Or rather given that I do not know of types how I get mapping over multiple inputs?
If your mapping contains those three pairs, then the arrow’s source object contains 1, A, B and cow, and the target object contains 5, 3, cat and france. Allowing or disallowing mixed types gives two different categories. Whether an arrow mixes types is as far as I can tell you to mean uniquely determined by whether its source or target object mix types. In either case, to compose two arrows they must have a common middle object.
I don’t know whether it is a relevant fear but just I am unsure how much the other details other than type compatibility are preserved.
Say you have a mapping O: A->1, B->3 and a mapping P: 4-> france, 5->england. You could then go that O is letters to numbers and P is numbers to countries so you go that mapping from letters to countries should exist but if you start at A or B you don’t end up at any country. Or is the case that {1,3} is a different category than {4,5} rather than letters being equal to letters?
You mean object.
Every category containing O and P must address this question. In the usual category of math functions, if P has only those two pairs then the source object of P is exactly {4,5}, so O and P can’t be composed. In the category of relations, that is arbitrary sets of pairs between the source and target sets, O and P would compose to the empty relation between letters and countries.
I would suspect there are rules how it works that way but now it is not intuitive for me why that would be the result. Why it would not produce the empty function? And if you have a empty relation isn’t it a relation of any type to any type at the same time? Would it or why it would not be an empty relation between letter-shapes and country-dances? But apparently you can have different kinds of empty morphisms based on what their source and target objects are.
I didn’t also realise that composing is relative to how you view the objects.
Categories are what we call it when each arrow remembers its source and target. When they don’t, and you can compose anything, it’s called a monoid. The difference is the same as between static and dynamic type systems. The more powerful your system is, the less you can prove about it, so whenever we can, we express that particular arrows can’t be composed, using definitions of source and target.