Hi all,

I seem to be misunderstanding how pyro.condition works. I have a basic example in which one variable x determines another variable y:

```
def test():
x = pyro.sample('x', dist.Bernoulli(0.5)).item()
prob_y = 1 if x == 1 else 0
y = pyro.sample('y', dist.Bernoulli(prob_y)).item()
return x, y
pyro.condition(test, data={'y': torch.tensor(1.0)})()
```

The variables x and y should always have the same value, but after conditioning on y=1, the above frequently returns (0.0, 1.0).

Can anyone point out what I am doing incorrectly?

Thanks!