Structures with $x*(y*z) = y*(x*z)$ In reading http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=182143561104878BDABB72258DA254D0?doi=10.1.1.18.2521&rep=rep1&type=pdf , they mentioned an interesting relation -- they had a magma $(X,*)$ with the property $x*(y*z) = y*(x*z)$.
Their specific example was to start with a set $S$ , and build your structure on its power set $X=P(S)$; then take the vector space $\mathbb{R}^{P(S)}$. Their operation acted on vectors in this space: for two vectors $x$ and $y$ , the element of their product indexed by $I \subseteq S$ is given by $(x*y)(I) = \sum_{K \subseteq S} x(K)y(I\cup K)$.
I think this is an interesting relation, because it's so "close" to several other nice properties. If you had any right identity, then $x*y = x*(y*e) = y*(x*e) = y*x$, so the structure is commutative. If you had commutativity, then $ x*(y*z) = x*(z*y) = z*(x*y) = (x*y)*z $, so you'd have associativity. Thus just a right identity is enough to imply that you're a full-on commutative monoid. There is a weak reverse, that associativity implies $(x*y)*z = (y*x)*z$, which is like a weak version of commutativity: $x*y\simeq y*x$ in the sense that are equivalent under maps $(- * z)$ for all $z$. So I want to know what these structures look like when you don't have a right identity.
Their example does have a left identity, the vector I'll call $1_0$, with $1_0(\emptyset)=1$ and all other elements of the vector equal to zero. If we restrict our structure to just the vectors $v$ such that $v(\emptyset)\neq 0$, then we are still closed under $*$, and get a notion of inverse: for any vector $v$, we can define the vector $v^{-1}$ by $v^{-1}(\emptyset) = \frac{1}{v(\emptyset)}$ and $v^{-1}(K)=0$ for all other $K$. Then $v*v^{-1} = 1_0$, so in this sense we get an inverse to the left-identity. So we can have a left-identity and an inverse, without the right-inverse/associativity/commutativity properties.
I could only think of three other examples of such a structure.
One is to take any commutative semigroup. It doesn't have an identity necessarily, but it still has the commutativity and associativity.
The second is based on Boolean logic: in some set of axioms and with some set of statements $X$, we can determine $*$ as implication $\to$ in the sense of "$X\to Y$ means $Y$ can be proven from $X$ in this system". Then $x\to(y\to z)$ is equivalent to the statement $y\to(x\to z)$, thus "equal" in this structure. This still has left-identity given by TRUE, as $TRUE\to X$ is equivalent to $X$.
The third is to take a semilattice $(X,\wedge,\le)$, together with a negation map $\neg$ such that $x\le y \implies \neg y\le \neg x$. Then you can get the type of structure described above by taking $x*y = \neg x \wedge y$: We know that $x*(y*z)$ is the greatest lower bound of $\neg x$, $\neg y$, and $z$. As a concrete example, we can take $X = \mathbb{Z}\setminus \{0\}$ and $\wedge$ as $\max$: then we don't have any absorbing elements or identities. I suspect this might be related to the second example above through Heyting algebras somehow.
Are there any names for such structures? Are there any classification theorems for them? They seem so "close" to such nice structures, I really feel that there should be some sort of results! :) Thank you for any information!
 A: This axiom is rather weak on its own and I don't think there is very much that is interesting which you can say about it.  There is a very important qualitative difference between this axiom and other more familiar axioms like commutativity or associativity which have a rich theory, which is that in the equation $$x*(y*z) = y*(x*z)$$ each variable either only appears as the left input to $*$ or only appears as the right input, and moreover outputs only appear as right inputs.  As a result, you can pretend that the left inputs and right inputs are separate "types" which just happen to be labelled by the same set, with the operation $*$ just giving a way for the left inputs to act as functions on the right inputs.
To be more precise, such a magma $(X,*)$ is really equivalent to giving a collection $Y$ of commuting functions $X\to X$ together with a (surjective) function $f:X\to Y$.  Indeed, given such data, you can define $x*y=f(x)(y)$; conversely, given such a magma, you can let $Y$ be the set of all functions of the form $y\mapsto x*y$ and let $f$ be the map sending $x$ to $y\mapsto x*y$.
(In particular, if $(X,*)$ is such a magma and $f:X\to X$ is any function, then $(X,\cdot)$ is also such a magma where $x\cdot y=f(x)*y$. 
 This gives a huge wealth of examples.)
So all you really have is some collection of commuting maps from $X$ to itself, together with a (completely arbitrary!) way to assign such maps to elements of $X$.  I can't imagine any interesting theory coming from the latter arbitrary assignment, so you might as well just be studying collections of commuting maps on a set.
A: One way to define the (Cartesian) product of two objects in a category is as the adjoint to the $Hom$ functor; That is, Cartesian products are intended to obtain a bijection $Hom(A \times B,C)\simeq Hom(A,Hom(B,C))$. Since $A \times  B $ is isomorphic to $B \times A$, the above isomorphism implies, in turn, a bijection between $Hom(A,Hom(B,C))$ and $Hom(B,Hom(A,C))$. Thus the operation $Hom$, modulo bijection, satisfy your algebraic property. 
