�
��g�K � �� � d Z ddlmZmZmZ ddlmZmZmZ ddl m
Z
ddlmZ ddl
mZmZmZmZmZmZ ddlmZ ddlmZ dd lmZmZmZ G d
� d� � Z e� � Zd� Zd
efd�Zd� Z d� Z!d� Z"ddl#m$Z$m%Z% dS )z4Module for querying SymPy objects about assumptions.� )�global_assumptions� Predicate�AppliedPredicate)�CNF�
EncodedCNF�Literal)�sympify)�BooleanKind)�Eq�Ne�Gt�Lt�Ge�Le)�satisfiable)�memoize_property)�sympy_deprecation_warning�SymPyDeprecationWarning�ignore_warningsc �� � e Zd ZdZed� � � Zed� � � Zed� � � Zed� � � Zed� � � Z ed� � � Z
ed� � � Zed � � � Zed
� � � Z
ed� � � Zed� � � Zed
� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Zed� � � Z ed� � � Z!ed� � � Z"ed � � � Z#ed!� � � Z$ed"� � � Z%ed#� � � Z&ed$� � � Z'ed%� � � Z(ed&� � � Z)ed'� � � Z*ed(� � � Z+ed)� � � Z,ed*� � � Z-ed+� � � Z.ed,� � � Z/ed-� � � Z0ed.� � � Z1ed/� � � Z2ed0� � � Z3ed1� � � Z4ed2� � � Z5ed3� � � Z6ed4� � � Z7ed5� � � Z8ed6� � � Z9ed7� � � Z:ed8� � � Z;ed9� � � Z<d:S );�AssumptionKeyszy
This class contains all the supported keys by ``ask``.
It should be accessed via the instance ``sympy.Q``.
c �"