
    g	                     t    d dl mZ d dlmZ  G d de      Z G d de      Z G d de      Z G d	 d
e      Zy)    )	Predicate)
Dispatcherc                   (    e Zd ZdZdZ edd      Zy)PrimePredicatea  
    Prime number predicate.

    Explanation
    ===========

    ``ask(Q.prime(x))`` is true iff ``x`` is a natural number greater
    than 1 that has no positive divisors other than ``1`` and the
    number itself.

    Examples
    ========

    >>> from sympy import Q, ask
    >>> ask(Q.prime(0))
    False
    >>> ask(Q.prime(1))
    False
    >>> ask(Q.prime(2))
    True
    >>> ask(Q.prime(20))
    False
    >>> ask(Q.prime(-3))
    False

    primePrimeHandlerzHandler for key 'prime'. Test that an expression represents a prime number. When the expression is an exact number, the result (when True) is subject to the limitations of isprime() which is used to return the result.docN__name__
__module____qualname____doc__namer   handler     Y/var/www/openai/venv/lib/python3.12/site-packages/sympy/assumptions/predicates/ntheory.pyr   r      s     4 DGr   r   c                   (    e Zd ZdZdZ edd      Zy)CompositePredicatea  
    Composite number predicate.

    Explanation
    ===========

    ``ask(Q.composite(x))`` is true iff ``x`` is a positive integer and has
    at least one positive divisor other than ``1`` and the number itself.

    Examples
    ========

    >>> from sympy import Q, ask
    >>> ask(Q.composite(0))
    False
    >>> ask(Q.composite(1))
    False
    >>> ask(Q.composite(2))
    False
    >>> ask(Q.composite(20))
    True

    	compositeCompositeHandlerzHandler for key 'composite'.r	   Nr   r   r   r   r   r   *   s    . D+1OPGr   r   c                   (    e Zd ZdZdZ edd      Zy)EvenPredicateaY  
    Even number predicate.

    Explanation
    ===========

    ``ask(Q.even(x))`` is true iff ``x`` belongs to the set of even
    integers.

    Examples
    ========

    >>> from sympy import Q, ask, pi
    >>> ask(Q.even(0))
    True
    >>> ask(Q.even(2))
    True
    >>> ask(Q.even(3))
    False
    >>> ask(Q.even(pi))
    False

    evenEvenHandlerzHandler for key 'even'.r	   Nr   r   r   r   r   r   F   s    . D,EFGr   r   c                   (    e Zd ZdZdZ edd      Zy)OddPredicateaN  
    Odd number predicate.

    Explanation
    ===========

    ``ask(Q.odd(x))`` is true iff ``x`` belongs to the set of odd numbers.

    Examples
    ========

    >>> from sympy import Q, ask, pi
    >>> ask(Q.odd(0))
    False
    >>> ask(Q.odd(2))
    False
    >>> ask(Q.odd(3))
    True
    >>> ask(Q.odd(pi))
    False

    odd
OddHandlerzHHandler for key 'odd'. Test that an expression represents an odd number.r	   Nr   r   r   r   r   r   b   s     , DGr   r   N)sympy.assumptionsr   sympy.multipledispatchr   r   r   r   r   r   r   r   <module>r#      s@    ' -"Y "JQ Q8GI G89 r   