У конструктивной математики разве нет мета-теории?
Ну почему же нет?
Теория (исчисление) определяется своим алфавитом и множеством правил вывода, определяющим понятие выводимого слова. Язык определяется своим алфавитом, синтаксисом - список правил, который определяет понятие формулы, и семантикой, которая определяет понятие верной формулы.
Я не хочу вдаваться в такие подробности, разбирайтесь с ними сами. В разной литературе эти вещи могут определяться по-разному. В частности, посмотрите книгу
Е.Расёва, Р.Сикорский. Математика метаматематики."Наука", Москва, 1972.
Там Вы, в частности, обнаружите, что язык формализованной теории включает алфавит, термы и формулы (правила образования термов и формул, собственно, и образуют синтаксис). Понятие "верной" (истинной?) формулы связано с интерпретацией языка, а интерпретация не является частью языка формализованной теории (противоположный подход фактически запрещает рассматривать какие-либо интерпретации теории, кроме изначально заданной, что не есть хорошо). Формализованная теория включает язык, операцию присоединения следствий (вместе это даёт дедуктивную систему) и множество математических аксиом.
Что Вы имеете в виду? Язык и теория - разные вещи.
Это просто некоторая вольность речи. Но естественный язык - это далеко не то же, что формализованный язык. В частности, в нём описаны (на неформальном уровне) различные теории, которые могут быть (неформализованными) метатеориями для формализации математических теорий. В любом случае мы должны начинать с какой-то неформализованной теории в естественном языке.
Так значит нужно в определении мета-теории написать, что в ней обязательно должно хватать средств.
Зачем? Метатеория должна уметь описывать все элементы формализованной теории, перечисленные выше, уметь распознавать термы и формулы, производить их синтаксический анализ, распознавать доказательства и прочее. Если выбранная теория для этого недостаточна, она просто не может использоваться в качестве метатеории.
Почему допустимо?
Потому что арифметика (и, тем более, теория множеств) достаточно богата для этого. А кто может запретить Вам взять арифметику и описать в ней, например, арифметику, теорию множеств или любую другую формализованную теорию?
Вы знаете что такое bootstrapping в программировании? Это, например, когда язык программирования пишут на сомом себе.
Что пишут-то? Компилятор? Ну да, если какой-то компилятор языка уже есть, то можно на этом языке написать новый компилятор этого же языка. Или откомпилировать его вручную (
http://en.wikipedia.org/wiki/Bootstrapping_%28compilers%29). Да Вы же сами об этом пишете. Вы попробуйте на ещё не существующем языке описать его же (не компилятор, а алфавит, синтаксис и т.д.).
Откуда это следует? Я интуитивно понимаю, что не влияет, но почему так?
Предметная теория ведь "не имеет ни малейшего понятия" о том, в какой метатеории она описана. У предметной теории свои объекты, аксиомы и правила вывода, у метатеории - свои. Ну, если использовать Вашу аналогию с языками программирования: язык программирования "не знает", на каком языке написан его компилятор.
Кстати, и в каком смысле "разные", если они, допустим, одинаковые? Как это утверждение точно сформулировать?
"Одинаковые" они в том смысле, что между их алфавитами, термами, формулами, правилами вывода, аксиомами можно установить определённое соответствие, удовлетворяющее естественным требованиям. Но интерпретации у них могут быть совершенно разными (тем более, что теория о вообще "не знает" о том, как мы её интерпретируем: термы, формулы, аксиомы и правила вывода от интерпретации никак не зависят). В частности, алфавит, термы, формулы и доказательства предметной теории являются объектами метатеории, но не являются её собственными объектами. Попытка совместить теорию и метатеорию легко
может привести к противоречиям.