А, кстати, степени забыл. Возведение в степень получается аналогично умножению из морфизмов из группы

или моноида

или полугруппы

в некую группу/моноид/полугруппу

, операцию которой мы называем умножением*, и определить

, где

— единственный морфизм, переводящий 1 в

. Если в качестве

взять мультипликативный моноид

, будем иметь возведение в неотрицательную степень для ненулевых целых чисел. В этом случае и на ноль можно операцию перенести; останется неопределённым

, который есть некоторый смысл, вопреки существующему холивару, считать равным 1, как и для остальных оснований, а не 0, как и для остальных показателей, но это уже другая история, и тут об этом говорить не будем. В других случаях с нулём всё не так гладко: возьмём

, где ненулевые элементы составляют уже группу по умножению, и где мы потому можем ввести отрицательные степени — так ноль в них уже ни в какую не возвести!
Это пока максимум целочисленная степень; с рациональными уже возникают проблемы вне

, да и, к тому же, сначала нужно это самое

ввести будет.
* А умножение на целое, как делалось выше для целых, но можно ровно так же провернуть и для других групп etc., определяется для операций, которые больше смахивают на сложение.