lemma (in M_trivial) family_union_closed: "[strong_replacement(M, λx y. y = f(x)); M(A); ∀x∈A. M(f(x))] ==> M(∪x∈A. f(x))" using RepFun_closed ..
(* "Vfrom(A,i) \<equiv> transrec(i, %x f. A \<union> (\<Union>y\<in>x. Pow(f`y)))" *) (* HVfrom is *not* the recursive step for Vfrom. It is the
relativized version *) definition
HVfrom :: "[i==>o,i,i,i] ==> i"where "HVfrom(M,A,x,f) ≡ A ∪ (∪y∈x. {a∈Pow(f`y). M(a)})"
lemma is_powapply_abs: "[M(f); M(y)]==> is_powapply(M,f,y,z) ⟷ M(z) ∧ z = {x∈Pow(f`y). M(x)}" unfolding is_powapply_def by simp
lemma"[M(A); M(x); M(f); M(h) ]==> is_HVfrom(M,A,x,f,h) ⟷ (∃R[M]. h = A ∪∪R ∧ is_Replace(M, x,λx y. y = {x ∈ Pow(f ` x) . M(x)}, R))" using is_powapply_abs unfolding is_HVfrom_def by auto
lemma Replace_is_powapply: assumes "M(R)""M(A)""M(f)" shows "is_Replace(M, A, is_powapply(M, f), R) ⟷ R = Replace(A,is_powapply(M,f))" proof - have"univalent(M,A,is_powapply(M,f))" using‹M(A)›‹M(f)›unfolding univalent_def is_powapply_def by simp moreover have"∧x y. [ x∈A; is_powapply(M,f,x,y) ]==> M(y)" using‹M(A)›‹M(f)›unfolding is_powapply_def by simp ultimately show ?thesis using‹M(A)›‹M(R)› Replace_abs by simp qed
lemma RepFun_is_powapply: assumes "M(R)""M(A)""M(f)" shows "Replace(A,is_powapply(M,f)) = RepFun(A,λy.{x∈Pow(f`y). M(x)})" proof - have"{y . x ∈ A, M(y) ∧ y = {x ∈ Pow(f ` x) . M(x)}} = {y . x ∈ A, y = {x ∈ Pow(f ` x) . M(x)}}" using assms powapply_closed transM[of _ A] by blast also have" ... = {{x ∈ Pow(f ` y) . M(x)} . y ∈ A}"by auto finally show ?thesis using assms is_powapply_abs transM[of _ A] by simp qed
lemma RepFun_powapply_closed: assumes "M(f)""M(A)" shows "M(Replace(A,is_powapply(M,f)))" proof - have"univalent(M,A,is_powapply(M,f))" using‹M(A)›‹M(f)›unfolding univalent_def is_powapply_def by simp moreover have"[ x∈A ; is_powapply(M,f,x,y) ]==> M(y)"for x y using assms unfolding is_powapply_def by simp ultimately show ?thesis using assms powapply_replacement by simp qed
lemma Union_powapply_closed: assumes "M(x)""M(f)" shows "M(∪y∈x. {a∈Pow(f`y). M(a)})" proof - have"M({a∈Pow(f`y). M(a)})"if"y∈x"for y using that assms transM[of _ x] powapply_closed by simp then have"M({{a∈Pow(f`y). M(a)}. y∈x})" using assms transM[of _ x] RepFun_powapply_closed RepFun_is_powapply by simp thenshow ?thesis using assms by simp qed
lemma relation2_HVfrom: "M(A) ==> relation2(M,is_HVfrom(M,A),HVfrom(M,A))" unfolding is_HVfrom_def HVfrom_def relation2_def using Replace_is_powapply RepFun_is_powapply
Union_powapply_closed RepFun_powapply_closed by auto
lemma HVfrom_closed : "M(A) ==>∀x[M]. ∀g[M]. function(g) ⟶ M(HVfrom(M,A,x,g))" unfolding HVfrom_def using Union_powapply_closed by simp
lemma transrec_HVfrom: assumes"M(A)" shows"Ord(i) ==> {x∈Vfrom(A,i). M(x)} = transrec(i,HVfrom(M,A))" proof (induct rule:trans_induct) case (step i) have"Vfrom(A,i) = A ∪ (∪y∈i. Pow((λx∈i. Vfrom(A, x)) ` y))" using def_transrec[OF Vfrom_def, of A i] by simp then have"Vfrom(A,i) = A ∪ (∪y∈i. Pow(Vfrom(A, y)))" by simp then have"{x∈Vfrom(A,i). M(x)} = {x∈A. M(x)} ∪ (∪y∈i. {x∈Pow(Vfrom(A, y)). M(x)})" by auto with‹M(A)› have"{x∈Vfrom(A,i). M(x)} = A ∪ (∪y∈i. {x∈Pow(Vfrom(A, y)). M(x)})" by (auto intro:transM) also have"... = A ∪ (∪y∈i. {x∈Pow({z∈Vfrom(A,y). M(z)}). M(x)})" proof - have"{x∈Pow(Vfrom(A, y)). M(x)} = {x∈Pow({z∈Vfrom(A,y). M(z)}). M(x)}" if"y∈i"for y by (auto intro:transM) then show ?thesis by simp qed alsofrom step have" ... = A ∪ (∪y∈i. {x∈Pow(transrec(y, HVfrom(M, A))). M(x)})"by auto also have" ... = transrec(i, HVfrom(M, A))" using def_transrec[of "λy. transrec(y, HVfrom(M, A))""HVfrom(M, A)" i,symmetric] unfolding HVfrom_def by simp finally show ?case . qed
lemma Vfrom_abs: "[ M(A); M(i); M(V); Ord(i) ]==> is_Vfrom(M,A,i,V) ⟷ V = {x∈Vfrom(A,i). M(x)}" unfolding is_Vfrom_def using relation2_HVfrom HVfrom_closed HVfrom_replacement
transrec_abs[of "is_HVfrom(M,A)" i "HVfrom(M,A)"] transrec_HVfrom by simp
lemma Vfrom_closed: "[ M(A); M(i); Ord(i) ]==> M({x∈Vfrom(A,i). M(x)})" unfolding is_Vfrom_def using relation2_HVfrom HVfrom_closed HVfrom_replacement
transrec_closed[of "is_HVfrom(M,A)" i "HVfrom(M,A)"] transrec_HVfrom by simp
lemma Vset_abs: "[ M(i); M(V); Ord(i) ]==> is_Vset(M,i,V) ⟷ V = {x∈Vset(i). M(x)}" using Vfrom_abs unfolding is_Vset_def by simp
lemma Vset_closed: "[ M(i); Ord(i) ]==> M({x∈Vset(i). M(x)})" using Vfrom_closed unfolding is_Vset_def by simp
lemma Hrank_trancl:"Hrank(y, restrict(f,Memrel(eclose({x}))-``{y})) = Hrank(y, restrict(f,(Memrel(eclose({x}))^+)-``{y}))" unfolding Hrank_def using restrict_trans_eq by simp
lemma rank_trancl: "rank(x) = wfrec(rrank(x), x, Hrank)" proof - have"rank(x) = wfrec(Memrel(eclose({x})), x, Hrank)"
(is"_ = wfrec(?r,_,_)") unfolding rank_def transrec_def Hrank_def by simp also have" ... = wftrec(?r^+, x, λy f. Hrank(y, restrict(f,?r-``{y})))" unfolding wfrec_def .. also have" ... = wftrec(?r^+, x, λy f. Hrank(y, restrict(f,(?r^+)-``{y})))" using Hrank_trancl by simp also have" ... = wfrec(?r^+, x, Hrank)" unfolding wfrec_def using trancl_eq_r[OF relation_trancl trans_trancl] by simp finally show ?thesis unfolding rrank_def . qed
lemma PHrank_abs : "[ M(f) ; M(y) ]==> PHrank(M,f,y,z) ⟷ M(z) ∧ z = succ(f`y)" unfolding PHrank_def by simp
lemma PHrank_closed : "PHrank(M,f,y,z) ==> M(z)" unfolding PHrank_def by simp
lemma Replace_PHrank_abs: assumes "M(z)""M(f)""M(hr)" shows "is_Replace(M,z,PHrank(M,f),hr) ⟷ hr = Replace(z,PHrank(M,f))" proof - have"∧x y. [x∈z; PHrank(M,f,x,y) ]==> M(y)" using‹M(z)›‹M(f)›unfolding PHrank_def by simp then show ?thesis using‹M(z)›‹M(hr)›‹M(f)› univ_PHrank Replace_abs by simp qed
lemma RepFun_PHrank: assumes "M(R)""M(A)""M(f)" shows "Replace(A,PHrank(M,f)) = RepFun(A,λy. succ(f`y))" proof - have"{z . y ∈ A, M(z) ∧ z = succ(f`y)} = {z . y ∈ A, z = succ(f`y)}" using assms PHrank_closed transM[of _ A] by blast also have" ... = {succ(f`y) . y ∈ A}"by auto finally show ?thesis using assms PHrank_abs transM[of _ A] by simp qed
lemma RepFun_PHrank_closed : assumes "M(f)""M(A)" shows "M(Replace(A,PHrank(M,f)))" proof - have"[ x∈A ; PHrank(M,f,x,y) ]==> M(y)"for x y using assms unfolding PHrank_def by simp with univ_PHrank show ?thesis using assms PHrank_replacement by simp qed
lemma relation2_Hrank : "relation2(M,is_Hrank(M),Hrank)" unfolding is_Hrank_def Hrank_def relation2_def using Replace_PHrank_abs RepFun_PHrank RepFun_PHrank_closed by auto
lemma Union_PHrank_closed: assumes "M(x)""M(f)" shows "M(∪y∈x. succ(f`y))" proof - have"M(succ(f`y))"if"y∈x"for y using that assms transM[of _ x] by simp then have"M({succ(f`y). y∈x})" using assms transM[of _ x] RepFun_PHrank_closed RepFun_PHrank by simp thenshow ?thesis using assms by simp qed
lemma is_Hrank_closed : "M(A) ==>∀x[M]. ∀g[M]. function(g) ⟶ M(Hrank(x,g))" unfolding Hrank_def using RepFun_PHrank_closed Union_PHrank_closed by simp
lemma rank_closed: "M(a) ==> M(rank(a))" unfolding rank_trancl using relation2_Hrank is_Hrank_closed is_Hrank_replacement
wf_rrank relation_rrank trans_rrank rrank_in_M
trans_wfrec_closed[of "rrank(a)" a "is_Hrank(M)"] by simp
lemma M_into_Vset: assumes"M(a)" shows"∃i[M]. ∃V[M]. ordinal(M,i) ∧ is_Vfrom(M,0,i,V) ∧ a∈V" proof - let ?i="succ(rank(a))" from assms have"a∈{x∈Vfrom(0,?i). M(x)}" (is"a∈?V") using Vset_Ord_rank_iff by simp moreoverfrom assms have"M(?i)" using rank_closed by simp moreover note‹M(a)› moreoverfrom calculation have"M(?V)" using Vfrom_closed by simp moreoverfrom calculation have"ordinal(M,?i) ∧ is_Vfrom(M, 0, ?i, ?V) ∧ a ∈ ?V" using Ord_rank Vfrom_abs by simp ultimately show ?thesis by blast qed
end end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 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.