Sto cercando di costruire notazioni per ordinali numerabili di grandi dimensioni in "modo naturale". Per "modo naturale" intendo che dato un dato induttivo di tipo X, l'uguaglianza dovrebbe essere la solita uguaglianza ricorsiva (la stessa che deriving Eq
in Haskell produrrebbe) e l'ordine dovrebbe essere il solito ordine lessicografico ricorsivo (lo stesso che deriving Ord
in Haskell produrrebbe ) e esiste un predicato decidibile che determina se un membro di X è una notazione ordinale valida o meno.
Ad esempio, ordinali inferiori a ε 0 possono essere rappresentati da liste ordinate finite ereditarie e soddisfano questi requisiti. Definisci X come μα. μβ. 1 + α × β, ovvero elenchi ereditari finiti. Definire isValid
per verificare che X sia ordinato e tutti i membri di X lo sono isValid
. I membri validi di X sono tutti ordinali inferiori a ε 0 nel consueto ordine lessicografico.
Io suppongo che μα 0. … Μα n . 1 + α 0 ×… × α n può essere utilizzato per definire ordinali inferiori a φ n + 1 (0), dove φ è la funzione Veblen, in modo simile.
Come puoi vedere, ho esaurito i quantificatori μ a φ ω (0). Posso creare notazioni ordinali più grandi che soddisfino le mie esigenze? Speravo di arrivare fino a Γ 0 . Posso ottenere ordinali più grandi se trascino il mio requisito di decidibilità sul mio predicato di validità?
compare
in coq.inria.fr/pylons/contribs/files/Cantor/v8.3/… In quello stesso file, c'è un Lemma nf_intro
che potrebbe caratterizzare la validità.
Inductive lt : T2 -> T2 -> Prop
non mi sembra un ordine lessicografico.