
Marcin Kowalczyk pretends not to understand:
JK:
Again, a violation of the orthogonality principle. Needing division just to define signum. And of course a completely different approach do define the signum of integers. Or of polynomials...
So what? That's why it's a class method and not a plain function with a single definition.
Multiplication of matrices is implemented differently than multiplication of integers. Why don't you call it a violation of the orthogonality principle (whatever it is)?
1. Orthogonality priniciple has - in principle - nothing to do with the implementation. Separating a complicated structure in independent, or "orthogonal" concepts is a basic invention of human mind, spanning from the principle of Montesquieu of the independence of three political powers, down to syntactic issues in the design of a programming language. If you eliminate as far as possible the "interfacing" between concepts, the integration of the whole is easier. Spurious dependencies are always harmful. 2. This has been a major driving force in the construction of mathematical entities for centuries. What do you really NEED for your proof. What is the math. category where a given concept can be defined, where a theorem holds, etc. 3. The example of matrices is inadequate (to say it mildly). The monoid rules hold in both cases, e.g. the associativity. So, I might call both operations "multiplication", although one is commutative, and the other one not. == In a later posting you say:
If (+) can be implicitly lifted to functions, then why not signum? Note that I would lift neither signum nor (+). I don't feel the need. ...
I not only feel the need, but I feel that this is important that the additive structure in the codomain is inherited by functions. In a more specific context: the fact that linear functionals over a vector space form also a vector space, is simply *fundamental* for the quantum mechanics, for the cristallography, etc. You don't need to be a Royal Abstractor to see this. Jerzy Karczmarczuk Caen, France