4 ms·
To be even more pedantic! Unit elements are not limited to binary operators. In fact, in a monoid (or group) there is naturally an n-ary operation for each n. O
by black_knight 3y ago
To be even more pedantic! Unit elements are not limited to binary operators. In fact, in a monoid (or group) there is naturally an n-ary operation for each n. Or if you want a single operation from lists of elements to a single element. It is just that we usually present it using a unit and a binary operation + associativity. But one can split that cake in other ways. Thus, in some sense any and all are even more natural or "objective" (as Lawvere would put it) than and and or.
- feoren 3y agoWhat is your definition of an identity of a ternary function? Say i is the identity of f. Must it hold that f(i, a, b) == f(a, i, b) == f(a, b, i)? For all a, b in f's domain? The seems like the obvious choice, and certainly holds for ternary functions "built up" from associative binary ones, but I've just never seen such a thing. Is there a case where it's useful to talk about the identity of a 3-valued function? I think the thing I find weird about this is that a binary operator op2 over some set S is defined as S^2 -> S. So we can sensibly say: op2(a, i) == a == op2(i, a) But the extension of this to a 3-valued function from S^3 -> S cannot have that middle condition, because it has too many "free variables". We can't say: op3(a, b, i) == op2(a, b) Without establishing a relationship between op3 and op2, but must there be a sensible "decomposition" of op3 into some op2? Surely not. I guess I just don't know what it means to be an identity of a 3-valued function. As an example, consider mult3(a, b, c) := a * b * c. Then, mult3(0, a, b) == mult3(a, 0, b) == mult3(a, b, 0) for all a and b. We intuitively know that 0 is not behaving like an identity. Can we write down an identity rule that must hold for a generic op3 that excludes 0 as the identity of that function? Without relying on some oracle to provide us an appropriate decomposed op2? Edit: I would also like to point out this function over R^3: f(a, b, c) := a*b + a*c + b*c Note that every value in R meets the condition: f(a, x, y) == f(x, a, y) == f(x, y, a) == ax + ay + xy For all x and y. Is every number an identity of this function? In fact, this is trivially true for any completely associative function. I guess I just need to see the definition of an identity of a ternary operator.