[sympy] Re: Boolean Algebra

2008-11-18 Thread Vinzent Steinberg
On Nov 18, 7:35 am, "Brian Granger" <[EMAIL PROTECTED]> wrote: > * The is_* attributes were created so that the core code in sympy > could have a fast path for checking the types of the objects that it > gets.  I am assuming that performance tests were done and that there > really was a net perf

[sympy] Re: Boolean Algebra

2008-11-17 Thread Brian Granger
On Mon, Nov 17, 2008 at 10:23 PM, Drake <[EMAIL PROTECTED]> wrote: > > Hi Ondrej, > >> > I'm looking into the AssocOp code to implement the functions that will >> > flatten a longer expression, and I have a question. Why does SymPy use >> > this structure everywhere: >> >> > class Basic(...): >> >

[sympy] Re: Boolean Algebra

2008-11-17 Thread Drake
Hi Ondrej, > > I'm looking into the AssocOp code to implement the functions that will > > flatten a longer expression, and I have a question. Why does SymPy use > > this structure everywhere: > > > class Basic(...): > >    is_Atom = False > > > class AssocOp(...): > >   [EMAIL PROTECTED] > >    d

[sympy] Re: Boolean Algebra

2008-11-17 Thread Ondrej Certik
Hi Chris! On Tue, Nov 18, 2008 at 3:05 AM, Drake <[EMAIL PROTECTED]> wrote: > > I created a bit of preliminary code just to play around with this > idea: > > > > from sympy.core.basic import Basic, S > from sympy.core.function import Function > > class Not(Function): > >n

[sympy] Re: Boolean Algebra

2008-11-17 Thread Drake
I created a bit of preliminary code just to play around with this idea: from sympy.core.basic import Basic, S from sympy.core.function import Function class Not(Function): nargs = 1 @classmethod def canonize(cls, x): if x.is_Number: if x is

[sympy] Re: Boolean Algebra

2008-11-07 Thread Ondrej Certik
On Fri, Nov 7, 2008 at 6:28 PM, Drake <[EMAIL PROTECTED]> wrote: > >> I suggest you try to create simple classes to do what you want and >> post here your progress and we'll help with it. E.g. fork our git repo >> and publish your changes for example to github and we'll iteratively >> get there. B

[sympy] Re: Boolean Algebra

2008-11-07 Thread Drake
> I suggest you try to create simple classes to do what you want and > post here your progress and we'll help with it. E.g. fork our git repo > and publish your changes for example to github and we'll iteratively > get there. Btw, we also have an assumptions inference engine here: Ondrej, All yo

[sympy] Re: Boolean Algebra

2008-11-06 Thread Drake
> > A question of style is which operators to use: > > 1. A * (B + !C) > > 2. A and (B or not C) > > "!" is not a Python operator, is it? So this leaves the option 2. Yes, you are right. How about option3 (bit-wise): A & (B | ~C) M | (P ^ Q) # XOR, which isn't canonical, but very common. It's

[sympy] Re: Boolean Algebra

2008-11-06 Thread Ondrej Certik
Hi Chris! On Thu, Nov 6, 2008 at 11:40 PM, Drake <[EMAIL PROTECTED]> wrote: > >> I'd love to have it. Here is how Mathematica does it: >> >> http://reference.wolfram.com/mathematica/guide/LogicAndBooleanAlgebra... >> >> so let's do the same. If you'd be interested in implementing that, >> it'd be

[sympy] Re: Boolean Algebra

2008-11-06 Thread Drake
> I'd love to have it. Here is how Mathematica does it: > > http://reference.wolfram.com/mathematica/guide/LogicAndBooleanAlgebra... > > so let's do the same. If you'd be interested in implementing that, > it'd be awesome. Feel free to ask if you have any problems. > > Ondrej I am interested, tho

[sympy] Re: Boolean Algebra

2008-11-06 Thread Ondrej Certik
Hi Drake! On Thu, Nov 6, 2008 at 3:42 AM, Drake <[EMAIL PROTECTED]> wrote: > > Hello sympy users, > > I am intrigued by the capabilities of sympy, and I was wondering if > anyone in the CAS community has implemented (or has interest in) the > subject of symbolic boolean algebra? I realize this ma