I would like to define the ⊕
operator with distributive, associative, and commutative properties - so that Mathematica can symbolically simplify expressions I use it in. For example:
in := Simplify[a b ⊕ a c]
out := a (b ⊕ c)
I've already given the ⊕
operator the Flat and Orderless attributes, giving the operator the other two properties I would like, but I can't figure distribution out.
Specifically, what I'm trying to do is define an operator which has the symbolic properties of Plus, but which does not evaluate against numbers, e.g
in := 2⊕2
out := 2⊕2
is a fully simplified expression.
Simplify[2 a b\[CirclePlus]a c\[CirclePlus]a d]
orSimplify[2 + a b\[CirclePlus]a c\[CirclePlus]a d]
? $\endgroup$