* Uday's question
@ 1998-03-04 16:43 Reinhold Heckmann
0 siblings, 0 replies; only message in thread
From: Reinhold Heckmann @ 1998-03-04 16:43 UTC (permalink / raw)
To: categories
When reading the last message of Uday Reddy,
I got three ideas.
1) Several people have pointed out that naturality is impossible.
Yet a weaker form of naturality may be appropriate.
Consider existential quantification on sets.
If f: A -> B is a function and p: B -> M (= Bool) a predicate,
then exists x in A: p(fx) iff exists x in f(A): p x
This suggests to require naturality E_A (p o f) = E_B p
for *epis* f: A -> B only.
2) Uday Reddy asked about the significance of the third equation:
E_A(\x. E_B(\y.hxy)) = E_B(\y. E_A(\x.hxy))
This equation looks a bit like the Foubini theorem
in integration theory.
The difference is that in Foubini's theorem,
there is a third mediating term, whose analogue would be
E_(A x B) (\(x,y). hxy) .
[Distinguish the product symbol x in A x B from the variable x.]
3) The analogy with integration also shows that
something may be missing from the present setting:
The integral depends on the function to be integrated
and also on a measure. It is in fact an operator
I_A: [A->M] x M(A) -> M
where M are the (non-negative?) reals
with the multiplicative monoid structure,
and M(A) is the set of measures on A.
[Distinguish the operator M from the monoid M.
Yet there is some connection: M(1) = M
if M is taken to consist of the non-negative reals.]
Now, we get
I_A(\x. a * gx, m) = a * I_A(g, m)
I_A(\x. gx * a, m) = I_A(g, m) * a
by linearity of integration, and
I_A(\x.1, m) = m(A)
(= 1, if only normalised measures are considered, but then M = M(1) is lost)
Of course, integration has many more properties, e.g.
additivity in the function, and linearity in m.
The last equation becomes
I_A (\x. I_B (\y. hxy, mb), ma) = I_B (\y. I_A (\x. hxy, ma), mb)
= I_(A x B) (\(x,y). hxy, ma x mb) with the product measure ma x mb.
There is also kind of naturality, namely the law of substitution:
For f: A -> B, I_A (p o f, ma) = I_B (p, ma o f^-1)
(for p: B -> M and ma in M(A) ).
This becomes a bit more categorical
by noting that M(-) is a functor with M(f) (ma) = ma o f^-1
and so I_A ( [f->] p, ma) = I_B (p, M(f) ma) .
Much of this can be formulated abstractly with a functor M.
For the mediating term of the Foubini theorem,
a natural transformation x_AB: M(A) x M(B) -> M(AxB) is needed
to form the product measure.
It may be useful to introduce a natural transformation
eta_A: A -> M(A), giving point measures.
I_A (p, eta_A(x)) = p(x) holds for p: A -> M and x in A.
The transformation x_AB induces a binary operation on M(1) = M(1 x 1),
and for 1 = {()}, eta_1 () is an element of M(1).
This gives a monoid structure on M(1),
giving back the original monoid M.
Back to existential quantification:
===================================
Take M(A) = P(A), the powerset of A, and M = P(1) = Bool
and define E_A (p, S) = exists x in S: p(x)
for p: A -> M and S in P(A).
Then all the equations for integration hold
(with x_AB : P(A) x P(B) -> P(A x B) being cartesian product
and eta_A(x) = {x} )
Instead of considering E_A: [A->M] x P(A) -> M,
one may, using CC, also consider E'_A: P(A) -> [[A->M]->M] .
This is even a monad homomorphism from the power set monad
to the monad [[- -> M] -> M] (known as continuation monad
with "final answers" M).
A similar thing is possible in the category of domains,
with P being some power domain construction
(see my paper "Power Domains and Second Order Predicates",
TCS 111, 59 - 88 (1993) ).
Maybe, this is the essence of Uday's work:
defining a monad homomorphism from some monad used
in the semantic description of a language to the continuation monad.
Regards,
Reinhold Heckmann
Universitaet des Saarlandes
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1998-03-04 16:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-03-04 16:43 Uday's question Reinhold Heckmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).