(self, formal_params, function_body, allow_free_vars=False)
Constructor, taking in input the list of formal parameters and the
        function body.

        The parameter `allow_free_vars` is used to skip the check that
        the function body has no free variables other than formal
        parameter and is used in the SmtLib model-validation utility
        because functions with uninterpreted return value return
        special symbols (e.g. @val1) in SmtLib.
Constructor, taking in input the list of formal parameters and the
        function body.
Constructor taking in input the list of formal parameters and the function body .
def __init__(self, formal_params, function_body, allow_free_vars=False):
        """Constructor, taking in input the list of formal parameters and the
        function body.

        The parameter `allow_free_vars` is used to skip the check that
        the function body has no free variables other than formal
        parameter and is used in the SmtLib model-validation utility
        because functions with uninterpreted return value return
        special symbols (e.g. @val1) in SmtLib.
        """
        if any(not x.is_symbol() or not x.is_term() for x in formal_params):
            raise PysmtValueError('Formal parameters of a function '
                                  'interpretation must be non-function symbols')
        if not allow_free_vars and \
           not function_body.get_free_variables().issubset(set(formal_params)):
            raise PysmtValueError('the body of a function interpretation cannot'
                                  ' contain free variables other than formal '
                                  'parameters')
        self.formal_params = list(formal_params)
        self.function_body = function_body
def __init__ ( self , formal_params , function_body , allow_free_vars = False ) : if any ( not x . is_symbol ( ) or not x . is_term ( ) for x in formal_params ) : raise PysmtValueError ( 'Formal parameters of a function ' 'interpretation must be non-function symbols' ) if not allow_free_vars and not function_body . get_free_variables ( ) . issubset ( set ( formal_params ) ) : raise PysmtValueError ( 'the body of a function interpretation cannot' ' contain free variables other than formal ' 'parameters' ) self . formal_params = list ( formal_params ) self . function_body = function_body