Keep the gradient flowing

Refine module

This commit introduced a new module in sympy: the refine module. The purpose of this module is to simplify expressions when they are bound to assumptions. For example, if you know that x>0, then you can simplify abs(x) to x. This code was traditionally embedded into the core …

Fun with the new Logic module

The logic module is slowly becoming useful. This week I managed to get some basic inference in propositional logic working. This should be enough for the assumption sysmtem (although having first-order inference would be cool). You can pull from my branch: `` git pull http://fa.bianp.net/git/sympy.git …

Boolean algebra, first steps

The first task for my Summer of Code project is to write a nice boolean algebra module. I wanted a clean module that follows SymPy's object model and that plays well with other objects. In practice this means that it should inherit from Basic and that it should behave well …

Logic modules in python

As a prerequisite of my GSOC project I have to do some modifications on sympy's current logic module (see previous post), so I decided to go out and take a look at what others are doing in this area. aima-python is a project that tries to implement all algorithms found …