Вы свою систему для записи интегралов совместите с каким-нибудь пруфчекером и запретите писать интеграл, если не доказано, что подынтегральная функция интегрируема.
Тогда пропадает основной смысл всего мероприятия - делать преобразования нативно, не отвлекаясь на проверки условий. Проверять интегрируемость каждый раз я и на бумаге могу.
Вообще тут общая проблема, что в языках первого порядка функциональные символы интерпретируются как тотальные функции, а иногда хочется частично определённые.
Вот, да. Я тоже об этом думал. Я даже одно время учил топологию с расчетом на частично определенные функции (определял для них непрерывность и т.д.). Хочется работать с частично определенными функциями как с всюду определенными (но как-то более элегантно, чем просто присваивать им значение "не определено" там, где они не определены). Другими словами, хочется как-то не отвлекаться постоянно на то, где функция определена или не определена. Или другая крайность - совсем отказаться от частично определенных функций или вообще отказаться от явных областей определения. Ну, я не знаю, например воспринимать функцию не как тройку множеств, а как запись на бумаге в специальном языке (гипотетически, я допускаю, что можно считать корректно определенными функции, про которые мы не до конца понимаем, где они определены). Если есть какие-то проработанные подходы, связанные с этим всем, было бы очень интересно почитать.
Речь вообще идёт о том, как придумывать маленькие алгоритмические эффективные формализации кусочков математики (типа арифметики Пресбургера) или о том, как формализовывать всю математику целиком?
Первое. Пока хочу эффективную реализацию матанализа. Если что, мне не нужна, например, разрешимость теории. Скажу так: на первом месте для меня стоит нативность преобразований (т.е. моменты, связанные с всюду определенностью операторов), а только потом алгоритмичность. Но эти вещи в любом случае идут рука об руку.