subsection‹An Injection from Formulas into the Natural Numbers›
text‹There is a well-known bijection between 🍋‹nat*nat›and 🍋‹nat› given by the expression f(m,n) = triangle(m+n) + m, where triangle(k) enumerates the triangular numbers and can be defined by triangle(0)=0, triangle(succ(k)) = succ(k + triangle(k)). Some small amount of effort is needed 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]} However, this result merely states that there is a bijection between the two sets. It provides no means of naming a specific bijection. Therefore, we conduct the proofs under the assumption that a bijection exists. The simplest way to organize this is to use a locale.›
text‹Locale for any arbitrary injection between 🍋‹nat*nat› and 🍋‹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, Forall(p)) = f ` "
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 🍋‹DPow(A)›\›
text‹The objective is to build a wellordering on 🍋‹DPow(A)›from a given one on 🍋‹A›. We first introduce wellorderings for environments, which are lists built over 🍋‹A›. We combine it with the enumeration of formulas. The order type of the resulting wellordering gives us a map from (environment, formula) pairs into the ordinals. For each member of 🍋‹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 🍋‹Lset(i)›. We assume as an inductive hypothesis that there is a family of wellorderings for smaller ordinals.›
definition
rlimit :: "[i,i==>i]==>i"where 🍋‹Expresses the wellordering at limit ordinals. The conditional lets us remove the premise 🍋‹Limit(i)›from some theorems.› "rlimit(i,r) ≡ if Limit(i) then {z: Lset(i) * Lset(i). ∃x' x. z = ∧ (lrank(x') < lrank(x) | (lrank(x') = lrank(x) ∧∈ r(succ(lrank(x)))))} else 0"
definition
Lset_new :: "i==>i"where 🍋‹This constant denotes the set of elements introduced at level 🍋‹succ(i)›\› "Lset_new(i) ≡ {x ∈ Lset(succ(i)). lrank(x) = i}"
text‹The limit case is non-trivial because of the distinction between object-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 🍋‹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 🍋‹∃r[L]. wellordered(L,x,r)›, it's necessary to know that 🍋‹r›is actually constructible. It follows from the assumption ``🍋‹V› equals 🍋‹L''›, but this reasoning doesn't appear to work in Isabelle.›
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.18 Sekunden
(vorverarbeitet am 2026-04-29)
¤
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.