# What is $z|y$ in Conditional Adversarial Nets?

I am currently going through Conditional Adversarial Nets (CGANs) and the modified objective function of the two-player minimax game is stated as follows: $$\min_G \max_D V(D, G)=\mathbb E_{x\sim p_{data}(x)}[\log D(\textbf x|\textbf y)] + \mathbb E_{z\sim p_z(\textbf z)}[\log(1-D(G(\textbf z | \textbf y)))].$$

I really don't understand what the conditioning does. G and D are not really probability functions, but rather real functions on samples from a distribution (which are real vectors). So what does the conditioning actually do? If the idea is just to include $$y$$ as an additional input to the generator neural net, then why not just $$D(x, y)$$ instead of $$D(x|y)$$?

$$x|y$$ and $$z|y$$ just mean that $$x,z$$ might be the same for multiple samples, only differing by conditioning $$z$$... it's easier to see this on the generator: you can feed the network the same noise, but you expect that depending on what $$y$$ is, it generates different images.
And yes, ideally you are modeling the joint distribution, thus it would be $$G(z,y)$$ and $$D(x,y)$$, but since you have no "generative model for $$y$$", you are just learning the marginal
For categorical variables it's easy to create such generative model for $$p(y)$$, but for example consider the height of the person in the picture as conditioning, then you should know the distribution of heights if you really want to model the joint ditribution $$p(z,y)$$