В Изабель я определил функцию f:'a -> nat
, где 'a
- некоторая алгебраическая структура, которая расширяет моноид (то есть группу, полукольцо, кольцо, область целостности, поле, ...).
Я хотел бы использовать вывод этой функции как «коэффициенты» для моего типа 'a
в других конструкциях. То есть, если x:'a
и n:nat
, я хотел бы иметь возможность использовать некоторую операцию ·:'a -> nat -> 'a
, которая позволяет мне сообщить Изабель об этом n·x = x + x + ... + x
.
Немного поискав, я нашел "Power.thy "теория и, в некотором смысле, делает то, что я хочу. Однако он делает это для «мультипликативной версии» моей проблемы. Это проблема, если я хочу изменить 'a
, например, на целые числа. Его использование означало бы, что вместо вычисления n·x
Изабель выполнит x^n
. Есть ли аналогичная версия для "Power.thy "это то, что я хочу? Или есть другие способы обойти эту проблему?