Here is an beautiful old paper about data structures built using a binary join operator, exploring the 16 possible outcomes for properties: unit, idempotent, associative, commutative.
The resulting grid can be factored around set, bag, list and binary tree, with empty/non-empty variants.
Then there is interaction of the structures with binary operators on the data elements themselves, giving a nice analysis of map, filter, fold (reduce) in functional programming.
There is a rich literature if you chase the references back and forth, starting from Bird-Meertens Formalism (Squiggol), Hoogendijk, through Backhouse and Malcolm, to Meijer and McBride.
I think negations usually don't prove interesting, and mathematicians essentially use "non-" to mean "not necessarily". So the theory of "noncommutative rings" includes the theory of "commutative rings" as an easy special case.
For example, I can see the use of commutativity (ab = ba) and anticommutativity (ab = -ba), but I'm not sure what I'd do with the negation of commutativity (ab ≠ ba).
Nope: the negation is "there is a couple a,b such that ab!=ba", which means just "strictly not commutative group": I do not think there is a relevant theory to be done about them (otherwise, I guess it would have been done).
The resulting grid can be factored around set, bag, list and binary tree, with empty/non-empty variants.
Then there is interaction of the structures with binary operators on the data elements themselves, giving a nice analysis of map, filter, fold (reduce) in functional programming.
A.Bunkenburg, The Boom Hierarchy
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49....
There is a rich literature if you chase the references back and forth, starting from Bird-Meertens Formalism (Squiggol), Hoogendijk, through Backhouse and Malcolm, to Meijer and McBride.