(self, expr, model=None)
return self._back_memoization[(askey(expr), model)]
Convert a Z3 expression back into a pySMT expression.

        This is done using the Z3 API. For very big expressions, it is
        sometimes faster to go through the SMT-LIB format. In those
        cases, consider using the method back_via_smtlib.
Convert a Z3 expression back into a pySMT expression.
Convert a Z3 expression back into a pySMT expression .
def back(self, expr, model=None):
        """Convert a Z3 expression back into a pySMT expression.

        This is done using the Z3 API. For very big expressions, it is
        sometimes faster to go through the SMT-LIB format. In those
        cases, consider using the method back_via_smtlib.
        """
        stack = [expr]
        while len(stack) > 0:
            current = stack.pop()
            key = (askey(current), model)
            if key not in self._back_memoization:
                self._back_memoization[key] = None
                stack.append(current)
                for c in current.children():
                    stack.append(c)
            elif self._back_memoization[key] is None:
                args = [self._back_memoization[(askey(c), model)]
                        for c in current.children()]
                res = self._back_single_term(current, args, model)
                self._back_memoization[key] = res
            else:
                # we already visited the node, nothing else to do
                pass
        return self._back_memoization[(askey(expr), model)]
def back ( self , expr , model = None ) : stack = [ expr ] while len ( stack ) > 0 : current = stack . pop ( ) key = ( askey ( current ) , model ) if key not in self . _back_memoization : self . _back_memoization [ key ] = None stack . append ( current ) for c in current . children ( ) : stack . append ( c ) elif self . _back_memoization [ key ] is None : args = [ self . _back_memoization [ ( askey ( c ) , model ) ] for c in current . children ( ) ] res = self . _back_single_term ( current , args , model ) self . _back_memoization [ key ] = res else : # we already visited the node, nothing else to do pass return self . _back_memoization [ ( askey ( expr ) , model ) ]