Yes, A | ~A are left alone. A | A simplifies to A, which is fine. I think 
that's about it.
There is a bunch of other functions aside from xor which directly
translates to and, or, not operations:

Nand - I'm good with translating it at construction time
Nor -- can stay as is too

Xor -- should probably not be rewritten automatically
Implies -- should not be rewritten automatically
Equivalent -- should not be rewritten automatically
ITE (if-then-else) -- should not be rewritten automatically

In general, I think it will be quite hard to make simplify() "compile"
to the last 4 high-level expressions, except for the implication.
The general approach would anyway be to translate everything to
And, Or, Not format and work with this limited set of operations:
it's much easier to work on that.

Once a smaller form is found, some heuristic could try to find
Xor, Implies, etc patterns and "compile up" to these functions, although
I don't think that a final expression full of => signs and xors is necessary
simpler than its $|~ equivalent.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sympy/-/75FQ9Um_B9QJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to