The model is trained to map the instructions u to a program z such that executing z in the context c results in the denotation y, which we denote by z c = y.
the program z is a latent variable we must search for at both training and test time.