lemma ClosedD: "[Closed(P); I ≠ 0; ∧i. i∈I ==> Ord(i); ∧i. i∈I ==> P(i)] ==> P(∪(I))" by (simp add: Closed_def)
lemma UnboundedD: "[Unbounded(P); Ord(i)]==>∃j. i∧ P(j)" by (simp add: Unbounded_def)
lemma Closed_Unbounded_imp_Unbounded: "Closed_Unbounded(C) ==> Unbounded(C)" by (simp add: Closed_Unbounded_def)
text‹The universal class, V, is closed and unbounded. A bit odd, since C. U. concerns only ordinals, but it's used below!› theorem Closed_Unbounded_V [simp]: "Closed_Unbounded(λx. True)" by (unfold Closed_Unbounded_def Closed_def Unbounded_def, blast)
text‹The class of ordinals, 🍋‹Ord›, is closed and unbounded.› theorem Closed_Unbounded_Ord [simp]: "Closed_Unbounded(Ord)" by (unfold Closed_Unbounded_def Closed_def Unbounded_def, blast)
text‹The class of limit ordinals, 🍋‹Limit›, is closed and unbounded.› theorem Closed_Unbounded_Limit [simp]: "Closed_Unbounded(Limit)" proof - have"∃j. i < j ∧ Limit(j)"if"Ord(i)"for i apply (rule_tac x="i++nat"in exI) apply (blast intro: oadd_lt_self oadd_LimitI Limit_has_0 that) done thenshow ?thesis by (auto simp: Closed_Unbounded_def Closed_def Unbounded_def Limit_Union) qed
text‹The class of cardinals, 🍋‹Card›, is closed and unbounded.› theorem Closed_Unbounded_Card [simp]: "Closed_Unbounded(Card)" proof - have"∀i. Ord(i) ⟶ (∃j. i < j ∧ Card(j))" by (blast intro: lt_csucc Card_csucc) thenshow ?thesis by (simp add: Closed_Unbounded_def Closed_def Unbounded_def) qed
subsubsection‹The intersection of any set-indexed family of c.u. classes is c.u.›
text‹The constructions below come from Kunen, \emph{Set Theory}, page 78.› locale cub_family = fixes P and A fixes next_greater 🍋‹the next ordinal satisfying class 🍋‹A›\› fixes sup_greater 🍋‹sup of those ordinals over all 🍋‹A›\› assumes closed: "a∈A ==> Closed(P(a))" and unbounded: "a∈A ==> Unbounded(P(a))" and A_non0: "A≠0" defines"next_greater(a,x) ≡ μ y. x∧ P(a,y)" and"sup_greater(x) ≡∪a∈A. next_greater(a,x)"
begin
text‹Trivial that the intersection is closed.› lemma Closed_INT: "Closed(λx. ∀i∈A. P(i,x))" by (blast intro: ClosedI ClosedD [OF closed])
text‹All remaining effort goes to show that the intersection is unbounded.›
lemma Ord_sup_greater: "Ord(sup_greater(x))" by (simp add: sup_greater_def next_greater_def)
lemma Ord_next_greater: "Ord(next_greater(a,x))" by (simp add: next_greater_def)
text‹🍋‹next_greater›works as expected: it returns a larger value and one that belongs to class 🍋‹P(a)›.› lemma assumes"Ord(x)""a∈A" shows next_greater_in_P: "P(a, next_greater(a,x))" and next_greater_gt: "x < next_greater(a,x)" proof - obtain y where"x < y""P(a,y)" using assms UnboundedD [OF unbounded] by blast thenhave"P(a, next_greater(a,x)) ∧ x < next_greater(a,x)" unfolding next_greater_def by (blast intro: LeastI2 lt_Ord2) thenshow"P(a, next_greater(a,x))""x < next_greater(a,x)" by auto qed
lemma sup_greater_gt: "Ord(x) ==> x < sup_greater(x)" using A_non0 unfolding sup_greater_def by (blast intro: UN_upper_lt next_greater_gt Ord_next_greater)
theorem Closed_Unbounded_INT: assumes"∧a. a∈A ==> Closed_Unbounded(P(a))" shows"Closed_Unbounded(λx. ∀a∈A. P(a, x))" proof (cases "A=0") case False with assms [unfolded Closed_Unbounded_def] show ?thesis by (intro cub_family.Closed_Unbounded_INT [OF cub_family.intro]) auto qed auto
lemma Int_iff_INT2: "P(x) ∧ Q(x) ⟷ (∀i∈2. (i=0 ⟶ P(x)) ∧ (i=1 ⟶ Q(x)))" by auto
lemma Normal_increasing: assumes i: "Ord(i)"and F: "Normal(F)"shows"i ≤ F(i)" using i proof (induct i rule: trans_induct3) case 0 thus ?caseby (simp add: subset_imp_le F) next case (succ i) hence"F(i) < F(succ(i))"using F by (simp add: Normal_def mono_Ord_def) thus ?caseusing succ.hyps by (blast intro: lt_trans1) next case (limit l) hence"l = (∪y by (simp add: Limit_OUN_eq) alsohave"... ≤ (∪yusing limit by (blast intro: ltD le_implies_OUN_le_OUN) finallyhave"l ≤ (∪y . moreoverhave"(∪y≤ F(l)"using limit F by (simp add: Normal_imp_cont lt_Ord) ultimatelyshow ?case by (blast intro: le_trans) qed
subsubsection‹The class of fixedpoints is closed and unbounded›
subsubsection‹Function ‹normalize›\ text‹Function ‹normalize›maps a function ‹F›to a normal function that bounds it above. The result is normal if and only if ‹F›is continuous: succ is not bounded above by any normal function, by @{thm [source] Normal_imp_fp_Unbounded}. › definition
normalize :: "[i==>i, i] ==> i"where "normalize(F,a) ≡ transrec2(a, F(0), λx r. F(succ(x)) ∪ succ(r))"
lemma normalize_increasing: assumes ab: "a < b"and F: "∧x. Ord(x) ==> Ord(F(x))" shows"normalize(F,a) < normalize(F,b)" proof - have"Ord(b)"using ab by (blast intro: lt_Ord2) hence"x < b ==> normalize(F,x) < normalize(F,b)"for x proof (induct b arbitrary: x rule: trans_induct3) case 0 thus ?caseby simp next case (succ b) thus ?case by (auto simp add: le_iff def_transrec2 [OF normalize_def] intro: Un_upper2_lt F) next case (limit l) hence sc: "succ(x) < l" by (blast intro: Limit_has_succ) hence"normalize(F,x) < normalize(F,succ(x))" by (blast intro: limit elim: ltE) hence"normalize(F,x) < (∪j by (blast intro: OUN_upper_lt lt_Ord F sc) thus ?caseusing limit by (simp add: def_transrec2 [OF normalize_def]) qed thus ?thesis using ab . qed
theorem Normal_normalize: assumes"∧x. Ord(x) ==> Ord(F(x))"shows"Normal(normalize(F))" proof (rule NormalI) show"∧i j. i < j ==> normalize(F,i) < normalize(F,j)" using assms by (blast intro!: normalize_increasing) show"∧l. Limit(l) ==> normalize(F, l) = (∪i by (simp add: def_transrec2 [OF normalize_def]) qed
theorem le_normalize: assumes a: "Ord(a)"and coF: "cont_Ord(F)"and F: "∧x. Ord(x) ==> Ord(F(x))" shows"F(a) ≤ normalize(F,a)" using a proof (induct a rule: trans_induct3) case 0 thus ?caseby (simp add: F def_transrec2 [OF normalize_def]) next case (succ a) thus ?case by (simp add: def_transrec2 [OF normalize_def] Un_upper1_le F ) next case (limit l) thus ?caseusing F coF [unfolded cont_Ord_def] by (simp add: def_transrec2 [OF normalize_def] le_implies_OUN_le_OUN ltD) qed
subsection‹The Alephs› text‹This is the well-known transfinite enumeration of the cardinal numbers.›
definition
Aleph :: "i ==> i" (‹(‹open_block notation=‹prefix ℵ›\›\ℵ_)› [90] 90) where "ℵa ≡ transrec2(a, nat, λx r. csucc(r))"
lemma Aleph_increasing: assumes ab: "a < b"shows"Aleph(a) < Aleph(b)" proof - have"Ord(b)"using ab by (blast intro: lt_Ord2) hence"x < b ==> Aleph(x) < Aleph(b)"for x proof (induct b arbitrary: x rule: trans_induct3) case 0 thus ?caseby simp next case (succ b) thus ?case by (force simp add: le_iff def_transrec2 [OF Aleph_def]
intro: lt_trans lt_csucc Card_is_Ord) next case (limit l) hence sc: "succ(x) < l" by (blast intro: Limit_has_succ) hence"ℵx < (∪jℵj)" using limit by (blast intro: OUN_upper_lt Card_is_Ord ltD lt_Ord) thus ?caseusing limit by (simp add: def_transrec2 [OF Aleph_def]) qed thus ?thesis using ab . qed
theorem Normal_Aleph: "Normal(Aleph)" proof (rule NormalI) show"i < j ==>ℵi < ℵj"for i j by (blast intro!: Aleph_increasing) show"Limit(l) ==>ℵl = (∪iℵi)" for l by (simp add: def_transrec2 [OF Aleph_def]) qed
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-04-30)
¤
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.