we write the new function as g/j because:
C---
| \-g---*
j |
| |
v v
D--g/j--->E
foo(j(c)) = g(c)
foo = (g/j)(c)
g/j(j(c)) = g(c)
§ Next over preorders (real category stuff)
The kan extension provides us a bijection, for
any function f: D -> E
C---
| \-g---*
j |
| |
v v
D--g/j--->E
D------f->E
hom(f.j, g) ~= hom(f, g/j)
That is, if we have some way to make congruent f.j
with g
, then we can
"split" the congruence to have f.j
congruent with (g/j).j
. Cancelling j
,
we can have f
congruent with g/j
.
Consider a preorder with a ordering ≤
. Equip with a monoidal structure <>
,
which is a monotone map with a neutral element. (For example, integers with
multiplication and ≤
).
The bijection of hom-sets is equivalent to saying
m*k <= n iff m <= n/k
(how? I have no idea; I gotta work this out!)
§ Question: What happens in the context of vector spaces?
Since linear algebra is probably the nicest thing we have in math, I really
want to understand what happens in the linear algebra case. I don't really
understand how to make the correct version of a kan extension inside Vect,
though. A kan extension seems to fundamentally be a 2 categorical construct,
than a 1 categorical construct.