#NEWLINE# @ slow #NEWLINE# def test_bounded3( ) : #NEWLINE# #INDENT# ( x , y , z ) = symbols ( 'x,y,z' ) #NEWLINE# a = ( x * y ) #NEWLINE# ( x , y ) = a . args #NEWLINE# assert ( ask ( Q . finite ( a ) , ( Q . finite ( x ) & Q . finite ( y ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( Q . finite ( x ) & ( ~ Q . finite ( y ) ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , Q . finite ( x ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ~ Q . finite ( x ) ) & Q . finite ( y ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ~ Q . finite ( x ) ) & ( ~ Q . finite ( y ) ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ~ Q . finite ( x ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , Q . finite ( y ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ~ Q . finite ( y ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) ) is None ) #NEWLINE# a = ( ( x * y ) * z ) #NEWLINE# ( x , y , z ) = a . args #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( Q . finite ( x ) & Q . finite ( y ) ) & Q . finite ( z ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( Q . finite ( x ) & Q . finite ( y ) ) & ( ~ Q . finite ( z ) ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( Q . finite ( x ) & Q . finite ( y ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( Q . finite ( x ) & ( ~ Q . finite ( y ) ) ) & Q . finite ( z ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( Q . finite ( x ) & ( ~ Q . finite ( y ) ) ) & ( ~ Q . finite ( z ) ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( Q . finite ( x ) & ( ~ Q . finite ( y ) ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( Q . finite ( x ) & Q . finite ( z ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( Q . finite ( x ) & ( ~ Q . finite ( z ) ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , Q . finite ( x ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ( ~ Q . finite ( x ) ) & Q . finite ( x ) ) & Q . finite ( z ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ( ~ Q . finite ( x ) ) & Q . finite ( y ) ) & ( ~ Q . finite ( z ) ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ~ Q . finite ( x ) ) & Q . finite ( y ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ( ~ Q . finite ( x ) ) & ( ~ Q . finite ( y ) ) ) & Q . finite ( z ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ( ~ Q . finite ( x ) ) & ( ~ Q . finite ( y ) ) ) & ( ~ Q . finite ( z ) ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ~ Q . finite ( x ) ) & ( ~ Q . finite ( y ) ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ~ Q . finite ( x ) ) & Q . finite ( z ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ~ Q . finite ( x ) ) & ( ~ Q . finite ( z ) ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ~ Q . finite ( x ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( Q . finite ( y ) & Q . finite ( z ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( Q . finite ( y ) & ( ~ Q . finite ( z ) ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , Q . finite ( y ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ~ Q . finite ( y ) ) & Q . finite ( z ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ~ Q . finite ( y ) ) & ( ~ Q . finite ( z ) ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ~ Q . finite ( y ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , Q . finite ( z ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ~ Q . finite ( z ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ( ( ~ Q . finite ( z ) ) & Q . nonzero ( x ) ) & Q . nonzero ( y ) ) & Q . nonzero ( z ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( a ) , ( ( ( ( ( ~ Q . finite ( y ) ) & ( ~ Q . finite ( z ) ) ) & Q . nonzero ( x ) ) & Q . nonzero ( y ) ) & Q . nonzero ( z ) ) ) is False ) #NEWLINE# ( x , y , z ) = symbols ( 'x,y,z' ) #NEWLINE# assert ( ask ( Q . finite ( ( x ** 2 ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( ( 2 ** x ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( ( 2 ** x ) ) , Q . finite ( x ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( ( x ** x ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( ( Rational ( 1 , 2 ) ** x ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( ( Rational ( 1 , 2 ) ** x ) ) , Q . positive ( x ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( ( Rational ( 1 , 2 ) ** x ) ) , Q . negative ( x ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( ( 2 ** x ) ) , Q . negative ( x ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( sqrt ( x ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( ( 2 ** x ) ) , ( ~ Q . finite ( x ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( ( x ** 2 ) ) , ( ~ Q . finite ( x ) ) ) is False ) #NEWLINE# assert ( ask ( Q . finite ( sign ( x ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( sign ( x ) ) , ( ~ Q . finite ( x ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( log ( x ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( log ( x ) ) , Q . finite ( x ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( exp ( x ) ) ) is None ) #NEWLINE# assert ( ask ( Q . finite ( exp ( x ) ) , Q . finite ( x ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( exp ( 2 ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( sin ( x ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( sin ( x ) ) , ( ~ Q . finite ( x ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( cos ( x ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( cos ( x ) ) , ( ~ Q . finite ( x ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( ( 2 * sin ( x ) ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( ( sin ( x ) ** 2 ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( ( cos ( x ) ** 2 ) ) ) is True ) #NEWLINE# assert ( ask ( Q . finite ( ( cos ( x ) + sin ( x ) ) ) ) is True )