Я не думаю, что что-то подобное существует в библиотеке. Тем не менее, у вас есть опечатка в вашем определении. Я верю, что вы хотите что-то вроде
definition
"ipow x n = (if n < 0 then (1 / x) ^ nat (-n) else x ^ nat n)"
Кроме того, все в порядке. Вы могли бы написать inverse x ^ nat (-n)
, но это не должно иметь большого значения на практике. Я бы предложил название int_power
, поскольку соответствующая операция с натуральными показателями называется power
.
Лично я бы не стал вводить новую константу, подобную этой, потому что для ее эффективного использования вам также необходим обширный сборник теорем об этом. Это означает немало (утомительной) работы. Вам действительно нужно поговорить о целых числах здесь? Я считаю, что на практике это часто можно обойти (в частности, обратите внимание, что рассматриваемые экспоненты в любом случае являются периодическими).
может быть полезным, тем не менее, для введения такого оператора мощности; все, что я говорю, это то, что вы должны знать о компромиссе.
Примечание: часто пропускаемая функция в Изабель, которая полезна, когда речь идет о таких экспонентах, как cis
(как в ‘cosine + i · sine‘). cis x
эквивалентно ‘exp (ix)’, где x
является действительным.