inference.py is actually not the state of the art in SymPy right now. It's only used by the old assumptions system. We maybe could factor out the algorithm for use with the logic module, but what really should be improved is the SAT solver. There are a ton of interesting directions you can go there.
Here's one simple (or maybe deceptively simple) problem: currently if a logical expression is highly disjunctive, it takes longer to convert the expression to CNF than it does to solve it. But a purely disjunctive expression (i.e., one that is in DNF) is *easy* to solve. So the question is: to what degree should satisfiable(expr) just fall back to any(satisfiable(i) for i in expr.args) when expr is an Or? First order logic would be nice too. I would personally prioritize whatever is needed for the assumptions system, though. Aaron Meurer On Sat, Jan 18, 2014 at 4:43 AM, Sachin Joglekar <[email protected]> wrote: > Have a look at the logic module's code. Especially the 'boolalg.py' and > 'inference.py' files. Once you work with the code and use it for some > primary tasks, you will get used to it. > Solve a few bugs first, many are there on the bugs tracker. > About GSoC, you can probably try your hand at the idea of implementing FOL > in sympy.logic. I had wanted to implement it some time back, but couldn't > due to time constraints. I guess implementing even the basics of predicate > logic with sympy's architecture would take quite some time. Things like > inference could be taken care of later. See Prolog's way of doing things, > that may give you some ideas. > > > On Saturday, January 18, 2014 12:43:55 PM UTC+5:30, Dhruvesh Parikh wrote: >> >> > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.
