Я хочу створити позначення для великих лічильних ординарій «природним чином». Під "природним способом" я маю на увазі, що з урахуванням індуктивних даних типу X ця рівність повинна бути звичайною рекурсивною рівністю (такою ж, як і deriving Eq
в Haskell), а порядок повинен бути звичайним рекурсивним лексикографічним порядком (таким же, як deriving Ord
у Haskell ), і існує вирішальний присудок, який визначає, чи є член X дійсним порядковим позначенням чи ні.
Наприклад, порядкові порядки менше ε 0 можуть бути представлені спадково обмеженими сортованими списками і задовольняють цим вимогам. Визначте X як μα. μβ. 1 + α × β, він також є спадково обмеженими списками. Визначити , isValid
щоб перевірити , що X сортується і всі члени X є isValid
. Дійсні члени X - це всі порядкові порядки, ніж ε 0, у звичайному лексикографічному порядку.
Я здогадуюсь, що μα 0. … μα n . 1 + α 0 ×… × α n можна використовувати для визначення порядків менше φ n + 1 (0), де φ - функція Веблена аналогічним чином.
Як ви бачите, у φ ω (0) у менших кванторів µ не вистачає . Чи можна будувати більші порядкові позначення, що відповідають моїм вимогам? Я сподівався дістатись до Γ 0 . Чи можу я отримати більші порядкові порядки, якщо я відмовляюсь від вимоги щодо визначення на своєму предикаті дійсності?
compare
в coq.inria.fr/pylons/contribs/files/Cantor/v8.3/… У тому самому файлі є лема, nf_intro
яка може характеризувати дійсність.
Inductive lt : T2 -> T2 -> Prop
мені не схоже на лексикографічне замовлення.