# Summary

We have introduced the building blocks of probabilistic modeling in Birch, with fundamental representations and computations including:

• Distribution, Random, Expression and Model objects,

• the simulate (<~), observe (~>) and assume (~) probabilistic operators,

• the fundamental computations of automatic differentiation, automatic marginalization, and automatic conditioning, as well as the delayed sampling heuristic used to implement the latter two,

• the concept of stochastic branching, where random variables affect the control flow of a program, and

• the concept of a programmatic model, as defining a distribution over graphical models.