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.
