Improving Relational Assumptions in SymPy’s New Assumptions
- Mentors
- Aaron Meurer, Francesco Bonazzi
- Organization
- SymPy
- Technologies
- python
- Topics
- logic, Computer Algebra System, Assumptions
The assumption system underlying SymPy is very important to the library's function. However, it has several flaws, including sluggish performance and being overly interconnected with the core of SymPy. As a result of its flaws, a new assumption system, the "new assumptions," was proposed about a decade ago. Since then, the community has made slow but incremental progress in transitioning to and improving this new system. One of the main reasons for this change is that the old assumption system doesn't allow for relation assumptions to be expressed. While the new assumption system does support relational assumptions, the current implementation is very limited. My project aims to address this limitation by enabling the new assumption system to make inferences based on equalities and inequalities, such as "if x > 0, then x must be positive."