 A model in Z3 is a satisfying assignment, i.e., it defines concrete values for variables and concrete functions for all variable symbols and uninterpreted functions such that the entire problem is SAT.

 The model can be partial: If it is enough to assign values to only a few variables to make the problem SAT, the resulting model will only contain this variables.
