lemma name_components_in_M: assumes"<σ,p>∈θ""θ ∈ M" shows"σ∈M""p∈M" proof - from assms obtain a where "σ ∈ a""p ∈ a""a∈<σ,p>" unfolding Pair_def by auto moreoverfrom assms have"<σ,p>∈M" using transitivity by simp moreoverfrom calculation have"a∈M" using transitivity by simp ultimately show"σ∈M""p∈M" using transitivity by simp_all qed
lemma sats_fst_snd_in_M: assumes "A∈M""B∈M""φ ∈ formula""p∈M""l∈M""o∈M""χ∈M" "arity(φ) ≤ 6" shows "{sq ∈A×B . sats(M,φ,[snd(sq),p,l,o,fst(sq),χ])} ∈ M"
(is"?θ ∈ M") proof - have"6∈nat""7∈nat"by simp_all let ?φ' = "ren(φ)`6`7`perm_pow_fn" from‹A∈M›‹B∈M›have "A×B ∈ M" using cartprod_closed by simp from‹arity(φ) ≤ 6›‹φ∈ formula›‹6∈_›‹7∈_› have"?φ' ∈ formula""arity(?φ')≤7" unfolding perm_pow_fn_def using perm_pow_thm arity_ren ren_tc Nil_type by auto with‹?φ' ∈ formula› have1: "arity(Exists(Exists(And(pair_fm(0,1,2),?φ'))))≤5" (is"arity(?ψ)≤5") unfolding pair_fm_def upair_fm_def using nat_simp_union pred_le arity_type by auto
{ fix sp note‹A×B ∈ M› moreover assume"sp ∈ A×B" moreoverfrom calculation have"fst(sp) ∈ A""snd(sp) ∈ B" using fst_type snd_type by simp_all ultimately have"sp ∈ M""fst(sp) ∈ M""snd(sp) ∈ M" using‹A∈M›‹B∈M› transitivity by simp_all note inM = ‹A∈M›‹B∈M›‹p∈M›‹l∈M›‹o∈M›‹χ∈M› ‹sp∈M›‹fst(sp)∈M›‹snd(sp)∈M› with1‹sp ∈ M›‹?φ' ∈ formula› have"M, [sp,p,l,o,χ]@[p] ⊨ ?ψ ⟷ M,[sp,p,l,o,χ] ⊨ ?ψ" (is"M,?env0@ _⊨_ ⟷ _") using arity_sats_iff[of ?ψ "[p]" M ?env0] by auto alsofrom inM ‹sp ∈ A×B› have"... ⟷ sats(M,?φ',[fst(sp),snd(sp),sp,p,l,o,χ])" by auto alsofrom inM ‹φ ∈ formula›‹arity(φ) ≤ 6› have"... ⟷ sats(M,φ,[snd(sp),p,l,o,fst(sp),χ])"
(is"sats(_,_,?env1) ⟷ sats(_,_,?env2)") using sats_iff_sats_ren[of φ 67 ?env2 M ?env1 perm_pow_fn] perm_pow_thm unfolding perm_pow_fn_def by simp finally have"sats(M,?ψ,[sp,p,l,o,χ,p]) ⟷ sats(M,φ,[snd(sp),p,l,o,fst(sp),χ])" by simp
} thenhave "?θ = {sp∈A×B . sats(M,?ψ,[sp,p,l,o,χ,p])}" by auto alsofrom assms ‹A×B∈M›have " ... ∈ M" proof - from1 have"arity(?ψ) ≤ 6" using leI by simp moreoverfrom‹?φ' ∈ formula› have"?ψ ∈ formula" by simp moreovernote assms ‹A×B∈M› ultimately show"{x ∈ A×B . sats(M, ?ψ, [x, p, l, o, χ, p])} ∈ M" using separation_ax separation_iff by simp qed finallyshow ?thesis . qed
lemma Pow_inter_MG: assumes "a∈M[G]" shows "Pow(a) ∩ M[G] ∈ M[G]" proof - from assms obtain τ where "τ ∈ M""val(G, τ) = a" using GenExtD by auto let ?Q="Pow(domain(τ)×P) ∩ M" from‹τ∈M› have"domain(τ)×P ∈ M""domain(τ) ∈ M" using domain_closed cartprod_closed P_in_M by simp_all then have"?Q ∈ M" proof - from power_ax ‹domain(τ)×P ∈ M›obtain Q where "powerset(##M,domain(τ)×P,Q)""Q ∈ M" unfolding power_ax_def by auto moreoverfrom calculation have"z∈Q ==> z∈M"for z using transitivity by blast ultimately have"Q = {a∈Pow(domain(τ)×P) . a∈M}" using‹domain(τ)×P ∈ M› powerset_abs[of "domain(τ)×P" Q] by (simp flip: setclass_iff) also have" ... = ?Q" by auto finally show ?thesis using‹Q∈M›by simp qed let
?π="?Q×{one}" let
?b="val(G,?π)" from‹?Q∈M› have"?π∈M" using one_in_P P_in_M transitivity by (simp flip: setclass_iff) from‹?π∈M› have"?b ∈ M[G]" using GenExtI by simp have"Pow(a) ∩ M[G] ⊆ ?b" proof fix c assume"c ∈ Pow(a) ∩ M[G]" thenobtain χ where "c∈M[G]""χ ∈ M""val(G,χ) = c" using GenExtD by auto let ?θ="{sp ∈domain(τ)×P . snd(sp) ⊨!!! (Member(0,1)) [fst(sp),χ] }" have"arity(forces(Member(0,1))) = 6" using arity_forces_at by auto with‹domain(τ) ∈ M›‹χ ∈ M› have"?θ ∈ M" using P_in_M one_in_M leq_in_M sats_fst_snd_in_M by simp then have"?θ ∈ ?Q" by auto then have"val(G,?θ) ∈ ?b" using one_in_G one_in_P generic val_of_elem [of ?θ one ?π G] by auto have"val(G,?θ) = c" proof(intro equalityI subsetI) fix x assume"x ∈ val(G,?θ)" thenobtain σ p where 1: "<σ,p>∈?θ""p∈G""val(G,σ) = x" using elem_of_val_pair by blast moreoverfrom‹<\<sigma>,p>∈?θ›‹?θ ∈ M› have"σ∈M" using name_components_in_M[of _ _ ?θ] by auto moreoverfrom1 have"(p ⊨!!! (Member(0,1)) [σ,χ])""p∈P" by simp_all moreover note‹val(G,χ) = c› ultimately have"sats(M[G],Member(0,1),[x,c])" using‹χ ∈ M› generic definition_of_forcing nat_simp_union by auto moreover have"x∈M[G]" using‹val(G,σ) = x›‹σ∈M›‹χ∈M› GenExtI by blast ultimately show"x∈c" using‹c∈M[G]›by simp next fix x assume"x ∈ c" with‹c ∈ Pow(a) ∩ M[G]› have"x ∈ a""c∈M[G]""x∈M[G]" using transitivity_MG by auto with‹val(G, τ) = a› obtain σ where "σ∈domain(τ)""val(G,σ) = x" using elem_of_val by blast moreovernote‹x∈c›‹val(G,χ) = c› moreoverfrom calculation have"val(G,σ) ∈ val(G,χ)" by simp moreovernote‹c∈M[G]›‹x∈M[G]› moreoverfrom calculation have"sats(M[G],Member(0,1),[x,c])" by simp moreover have"Member(0,1)∈formula"by simp moreover have"σ∈M" proof - from‹σ∈domain(τ)› obtain p where"<σ,p> ∈ τ" by auto with‹τ∈M› show ?thesis using name_components_in_M by blast qed moreovernote‹χ ∈ M› ultimately obtain p where"p∈G""(p ⊨!!! Member(0,1) [σ,χ])" using generic truth_lemma[of "Member(0,1)""G""[σ,χ]" ] nat_simp_union by auto moreoverfrom‹p∈G› have"p∈P" using generic unfolding M_generic_def filter_def by blast ultimately have"<σ,p>∈?θ" using‹σ∈domain(τ)›by simp with‹val(G,σ) = x›‹p∈G› show"x∈val(G,?θ)" using val_of_elem [of _ _ "?θ"] by auto qed with‹val(G,?θ) ∈ ?b› show"c∈?b"by simp qed then have"Pow(a) ∩ M[G] = {x∈?b . x⊆a & x∈M[G]}" by auto alsofrom‹a∈M[G]› have" ... = {x∈?b . sats(M[G],subset_fm(0,1),[x,a]) & x∈M[G]}" using Transset_MG by force also have" ... = {x∈?b . sats(M[G],subset_fm(0,1),[x,a])} ∩ M[G]" by auto alsofrom‹?b∈M[G]› have" ... = {x∈?b . sats(M[G],subset_fm(0,1),[x,a])}" using Collect_inter_Transset Transset_MG by simp alsofrom‹?b∈M[G]›‹a∈M[G]› have" ... ∈ M[G]" using Collect_sats_in_MG GenExtI nat_simp_union by simp finallyshow ?thesis . qed end(* context: G_generic *)
context G_generic begin
interpretation mgtriv: M_trivial "##M[G]" using generic Union_MG pairing_in_MG zero_in_MG transitivity_MG unfolding M_trivial_def M_trans_def M_trivial_axioms_def by (simp; blast)
theorem power_in_MG : "power_ax(##(M[G]))" unfolding power_ax_def proof (intro rallI, simp only:setclass_iff rex_setclass_is_bex) (* After simplification, we have to show that for every a\<in>M[G]thereexistssomex\<in>M[G]withpowerset(##M[G],a,x)
*) fix a assume"a ∈ M[G]" then have"(##M[G])(a)"by simp have"{x∈Pow(a) . x ∈ M[G]} = Pow(a) ∩ M[G]" by auto alsofrom‹a∈M[G]› have" ... ∈ M[G]" using Pow_inter_MG by simp finally have"{x∈Pow(a) . x ∈ M[G]} ∈ M[G]" . moreoverfrom‹a∈M[G]›‹{x∈Pow(a) . x ∈ M[G]} ∈ _› have"powerset(##M[G], a, {x∈Pow(a) . x ∈ M[G]})" using mgtriv.powerset_abs[OF ‹(##M[G])(a)›] by simp ultimately show"∃x∈M[G] . powerset(##M[G], a, x)" by auto qed end(* context: G_generic *) end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.8 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.