hello,
I am keen to work on porting assumptions module .
As
of now i understand there is not much support available for the module ,
but it being an important functionality of SymPy ,i feel there needs to
be a beginning to things .
An important function of the
assumptions module is ask( proposition ,assumption) proposition is a
boolean expression and so is assumption ,it has been documented :
here.Now
, these take expressions of Q as arguments . Q is class of
assumption_key and contains many boolean function , the list of which is
given
here .
As per my understanding assumption_key which is very important to the module too hasn't been yet ported to SymEngine .
What
i propose is that we start with creating a class similar to
assumption_key and import functions which can be implemented with the
support we have at the moment.
SymEngine at the moment has its own
objects and expressions like integer , complex , bool , real , rational
etc . We can first begin with basic bool functions like
Q.real(x),Q.rational(x) ...etc , then there can be an implementation of
functions which make use of these basic types like Q.nonpositive() ,
Q.is_true() --> then towards function dealing with ranges i.e
Q.finite .
After we have enough support of this
library available , we can start working on functions like ask() and
other functions which are available to us in assumptions module.
Please see to my ideas , give suggestions and please do reply .
Thanks