I'd like to ask a question on type theory:
Consider the usual type theoretical definition of the natural numbers. We could give an elimination rule in the form: or in the form:
I called the costants in the elimination rules $NatCata$ and $NatPara$ for the parallel with catamorphisms and paramorphisms recursion schemas. I also omitted the computation rules, as they are well known.
Now, this two ways to introduce the elimination rules let us build the same functions (in the sense in which a function is his graph), but other details are different (for example, the length of the derivation in the computation of a function; the pseudo-predecessor function expressed with the $NatCata$ version has to recur on all the structure, while with $NatPara$ is always a single step).
What I want to know is this: is there any reason why we insist on having a unique elimination rule?
Examples of such reasons may be theorems which are easier to state/proof, or other meta-theoretic properties.
Could we have different elimination rules, if they are automatically determined by the introduction rules (as in this case?). Would a logician consider this approach tasteful?