Zubr hidden variables

We do not perceive directly everything that is happening in the world. Or to say it otherwise - in order to understand the world it is useful to imagine that some facts about it remain hidden. Likewise - in Zubr it is assumed that the world has a state described by the visible variables (so called input variables) and by the invisible variables (so called hidden variables). How to declare them in Zubr?

       values { value FALSE, TRUE; }
       input variable a:{FALSE, TRUE}, b:{FALSE, TRUE};
       hidden variable c:{FALSE, TRUE}, d:{FALSE, TRUE};

The above Zubr code defines two input variables (a and b) and two hidden variables (c and d). All of them may have either value FALSE or TRUE.

But how can we use the hidden variables? What is it good for, to take into account the variables we do not perceive? Well, in order to understand this we need to learn how to use the getModelProbability method.