You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.
Hello all, here's Christine Tasson's video, about semantics in the context of probablistic programming.
https://youtu.be/3P0RJcfynNc
Any questions go here :)
Thank you, Christine, for the very nice tutorial! Among other things, I finally understand why semantics is important. Here are a few questions if you don't mind.
Tobias Fritz said:
It's quite remarkable that the category of -algebras is cocartesian coclosed, making its opposite into a CCC.
Hi -- I thought that paper was about a monoidal coclosed structure, did I misunderstand? although this would still be relevant for linear logic, of course.
I can't believe it's cocartesian coclosed. For commutative W*-algebras I can believe it.
The category of commutative W*-algebras is sorta kinda like the opposite of the category of measurable spaces...
I have to admit that I haven't studied the paper in detail, but on p.8/9 it says that the monoidal product is defined as the quotient of the free product by the commutators. So this seems to be saying that in the category of commutative -algebras, the relevant monoidal structure is exactly the coproduct. Although of course I may well be missing or misunderstanding something. In any case, you're both right, in the statement above I indeed meant to say that the category of commutative -algebras is apparently cocartesian coclosed.
There's also the MSc thesis of Sander Uijlen that talks about the category of -algebras and the free exponential. It was written in Nijmegen around the time (I think) that Sam was there, so Sam will probably know this stuff much better :)
BTW @John Baez, great to have you chime in!
Everyone: please feel free to ask more "basic" questions as well! We will have several communities interacting here, so nothing is too basic to be asked about.
Tobias Fritz said:
Thank you, Christine, for the very nice tutorial! Among other things, I finally understand why semantics is important. Here are a few questions if you don't mind.
Sorry for my late answer to your points and thanks for asking questions !
Tobias Fritz said:
- The stochastic kernels Proba that you introduced are subnormalized, but not necessarily normalized, right?
They are subnormalized indeed. To understand why, consider a probabilistic program with a while loop that can diverge. As the semantics of a probabilistic program of type nat coincides to the distribution of its output values, you have to keep some probability for this divergence that can be seen as one specific output value.
Tobias Fritz said:
- Is the problem of finding a CCC of continuous domains that is stable under the probabilistic powerdomain functor still open?
I think so. There have been some work by Goubault-Larrecq http://www.lsv.fr/Publis/PAPERS/PDF/JGL-lmcs12.pdf, who defines a suitable notion of domains, but it does not give rise to a CCC.
Tobias Fritz said:
- I haven't quite understood the relevance of linear logic to the semantics, and in particular of the analytic morphisms, since a stochastic kernel clearly operates in a linear way on probability distributions. So is this mainly a way to construct CCCs of the desired kind, but the probabilistic program interpretation doesn't use all the structure of linear logic? Or are there languages with syntactical constructions which result semantically in non-linear maps between spaces of distributions?
I am not sure to understand quite well your question. But I think you refer to the fact that we are used to probabilistic programs or constructions that use linearly their input. It is the case in the monadic lambda-calculus, in probabilistic automata and in Bayesian networks and in Call-By-Value languages in general.
In general, if you have a probabilistic program M that you want to compose with another one N, you use the let construction:
let x=M in N
This means that you first sample M and then pass it to N. In this way, each time you use the variable x in N, you will substitute it with the same value.
But there are situations where you want to sample M many times and you really want to take into consideration the possibly different outcomes. For instance, you want to approximate a gaussian distribution using the Gatson board. If M is the program Plinko in the slides, you are not interested in one sample but with all the outcomes and their multiplicities.
A program P that do this approximation will use infinitely many copies of M. You may think of this copies as i.i.d. random variables x. Now P is non linear and its semantics in the linear logic framework will be a formal series depending on x.
This corresponds to a Call-By-Name language: in the beta reduction (\lambda x. P) M -> P[x\M], you first duplicate M as many times as needed and substitute all the occurrences of x in P. That means that you have duplicated the random variables corresponding to M into as many random variables all independent and following the same law.
That's surprising to me. For example in Haskell, I'd expect that x is sampled coherently the same way in all occurrences. There, the difference would be whether you pass around a value in a probability monad, or whether you use Kleisli composition.
Thanks, @Christine Tasson , for the elaborate answer :)
I'll have to let this sink in for some time, but if I understand correctly the use of the exponential modality is closely related to the de Finetti theorem. Or let me perhaps ask like this: can I intuitively think of the function type as the type of Kleisli morphisms where is a probability monad, and instead is the type of all (or all analytic) functions ? (Maybe not completely precisely, but at least at an intuitive level?)
Kind of:
In the LL setting, can be thought as stochastic matrices or linear operators that preserve probability distributions
And can be thought as analytic operators that also preserve probability distributions
In the CBV/Monadic approach, will be interpreted in the Kleisli category taking as input an element of and producing a probability distribution.
Do note hesitate to ask for more details !
john, could i persuade you to expand on that by a para or two? genuinely curious. -e
Me? Expand on what, exactly?
Rongmin Lu said:
eric brunner-williams (uoregon) said:
john, could i persuade you to expand on that by a para or two? genuinely curious. -e
It may help if you could do a Quote and Reply on the message you're interested in commenting on next time. If you're unfamiliar with the Zulip mechanism, there are instructions here.
thank you. got it.