def _get_full_model_smt_script(self, constraints=(), variables=()):
smt_script = '<STR_LIT>'<EOL>smt_script += '<STR_LIT>'<EOL>smt_script += self._smtlib_exprs(variables)<EOL>smt_script += self._smtlib_exprs(constraints)<EOL>smt_script += '<STR_LIT>'<EOL>smt_script += '<STR_LIT>'<EOL>return smt_script<EOL>
Returns a SMT script that declare all the symbols and constraint and checks
their satisfiability (check-sat)

:param extra-constraints: list of extra constraints that we want to evaluate only
                         in the scope of this call

:return string: smt-lib representation of the script that checks the satisfiability