subsection‹An Injection from Formulas into the Natural Numbers›
text‹There is a well-known bijection between term‹nat*nat› and term‹nat› given by the expression f(m,n) = triangle(m+n) + m, where triangle(k)
the triangular numbers and can be defined by triangle(0)=0,
(succ(k)) = succ(k + triangle(k)). Some small amount of effort is
to show that f is a bijection. We already know that such a bijection exists by the theorem ‹well_ord_InfCard_square_eq›:
{thm[display] well_ord_InfCard_square_eq[no_vars]}
, this result merely states that there is a bijection between the two
. It provides no means of naming a specific bijection. Therefore, we
the proofs under the assumption that a bijection exists. The simplest
to organize this is to use a locale.›
text‹Locale for any arbitrary injection between term‹nat*nat›
and term‹nat›› locale Nat_Times_Nat = fixes fn assumes fn_inj: "fn ∈ inj(nat*nat, nat)"
consts enum :: "[i,i]==>i" primrec "enum(f, Member(x,y)) = f ` <0, f ` ⟨x,y⟩>" "enum(f, Equal(x,y)) = f ` <1, f ` ⟨x,y⟩>" "enum(f, Nand(p,q)) = f ` <2, f ` <enum(f,p), enum(f,q)>>" "enum(f, Forall(p)) = f ` <succ(2), enum(f,p)>"
lemma (in Nat_Times_Nat) fn_type [TC,simp]: "[x ∈ nat; y ∈ nat]==> fn`⟨x,y⟩∈ nat" by (blast intro: inj_is_fun [OF fn_inj] apply_funtype)
lemma (in Nat_Times_Nat) fn_iff: "[x ∈ nat; y ∈ nat; u ∈ nat; v ∈ nat] ==> (fn`⟨x,y⟩ = fn`⟨u,v⟩) ⟷ (x=u ∧ y=v)" by (blast dest: inj_apply_equality [OF fn_inj])
lemma (in Nat_Times_Nat) enum_type [TC,simp]: "p ∈ formula ==> enum(fn,p) ∈ nat" by (induct_tac p, simp_all)
subsection‹Defining the Wellordering on term‹DPow(A)››
text‹The objective is to build a wellordering on term‹DPow(A)› from a
one on term‹A›. We first introduce wellorderings for environments,
are lists built over term‹A›. We combine it with the enumeration of
. The order type of the resulting wellordering gives us a map from
environment, formula) pairs into the ordinals. For each member of term‹DPow(A)›, we take the minimum such ordinal.›
lemma (in Nat_Times_Nat) DPow_r_type: "DPow_r(fn,r,A) ⊆ DPow(A) * DPow(A)" by (simp add: DPow_r_def measure_def, blast)
subsection‹Limit Construction for Well-Orderings›
text‹Now we work towards the transfinite definition of wellorderings for term‹Lset(i)›. We assume as an inductive hypothesis that there is a family
wellorderings for smaller ordinals.›
definition
rlimit :: "[i,i==>i]==>i"where
― ‹Expresses the wellordering at limit ordinals. The conditional
lets us remove the premise term‹Limit(i)› from some theorems.› "rlimit(i,r) ≡ if Limit(i) then {z: Lset(i) * Lset(i). ∃x' x. z = <x',x> ∧ (lrank(x') < lrank(x) | (lrank(x') = lrank(x) ∧ <x',x> ∈ r(succ(lrank(x)))))} else 0"
definition
Lset_new :: "i==>i"where
― ‹This constant denotes the set of elements introduced at level term‹succ(i)›› "Lset_new(i) ≡ {x ∈ Lset(succ(i)). lrank(x) = i}"
text‹The limit case is non-trivial because of the distinction between
-level and meta-level abstraction.› lemma [simp]: "Limit(i) ==> L_r(f,i) = rlimit(i, L_r(f))" by (simp cong: rlimit_cong add: transrec3_Limit L_r_def ltD)
text‹Every constructible set is well-ordered! Therefore the Wellordering Theorem and
the Axiom of Choice hold in term‹L›!› theorem L_implies_AC: assumes x: "L(x)"shows"∃r. well_ord(x,r)" using Transset_Lset x apply (simp add: Transset_def L_def) apply (blast dest!: well_ord_L_r intro: well_ord_subset) done
interpretation L: M_basic L by (rule M_basic_L)
theorem"∀x[L]. ∃r. wellordered(L,x,r)" proof fix x assume"L(x)" thenobtain r where"well_ord(x,r)" by (blast dest: L_implies_AC) thus"∃r. wellordered(L,x,r)" by (blast intro: L.well_ord_imp_relativized) qed
text‹In order to prove term‹∃r[L]. wellordered(L,x,r)›, it's necessary to know term‹r› is actually constructible. It follows from the assumption ``term‹V› equals term‹L''›,
this reasoning doesn't appear to work in Isabelle.›
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.