text‹Reduces the original comprehension to the reflected one› lemma reflection_imp_L_separation: "[∀x∈Lset(j). P(x) ⟷ Q(x); {x ∈ Lset(j) . Q(x)} ∈ DPow(Lset(j)); Ord(j); z ∈ Lset(j)]==> L({x ∈ z . P(x)})" apply (rule_tac i = "succ(j)"in L_I) prefer2apply simp apply (subgoal_tac "{x ∈ z. P(x)} = {x ∈ Lset(j). x ∈ z ∧ (Q(x))}") prefer2 apply (blast dest: mem_Lset_imp_subset_Lset) apply (simp add: Lset_succ Collect_conj_in_DPow_Lset) done
text‹Encapsulates the standard proof script for proving instances of
Separation.› lemma gen_separation: assumes reflection: "REFLECTS [P,Q]" and Lu: "L(u)" and collI: "∧j. u ∈ Lset(j) ==> Collect(Lset(j), Q(j)) ∈ DPow(Lset(j))" shows"separation(L,P)" apply (rule separation_CollectI) apply (rule_tac A="{u,z}"in subset_LsetE, blast intro: Lu) apply (rule ReflectsE [OF reflection], assumption) apply (drule subset_Lset_ltD, assumption) apply (erule reflection_imp_L_separation) apply (simp_all add: lt_Ord2, clarify) apply (rule collI, assumption) done
text‹As above, but typically term‹u› is a finite enumeration such as term‹{a,b}›; thus the new subgoal gets the assumption term‹{a,b} ⊆ Lset(i)›, which is logically equivalent to term‹a ∈ Lset(i)› and term‹b ∈ Lset(i)›.› lemma gen_separation_multi: assumes reflection: "REFLECTS [P,Q]" and Lu: "L(u)" and collI: "∧j. u ⊆ Lset(j) ==> Collect(Lset(j), Q(j)) ∈ DPow(Lset(j))" shows"separation(L,P)" apply (rule gen_separation [OF reflection Lu]) apply (drule mem_Lset_imp_subset_Lset) apply (erule collI) done
subsection‹Separation for Intersection›
lemma Inter_Reflects: "REFLECTS[λx. ∀y[L]. y∈A ⟶ x ∈ y, λi x. ∀y∈Lset(i). y∈A ⟶ x ∈ y]" by (intro FOL_reflections)
lemma Inter_separation: "L(A) ==> separation(L, λx. ∀y[L]. y∈A ⟶ x∈y)" apply (rule gen_separation [OF Inter_Reflects], simp) apply (rule DPow_LsetI) txt‹I leave this one example of a manual proof. The tedium of manually
instantiating term‹i›, term‹j› and term‹env› is obvious.› apply (rule ball_iff_sats) apply (rule imp_iff_sats) apply (rule_tac [2] i=1and j=0and env="[y,x,A]"in mem_iff_sats) apply (rule_tac i=0and j=2in mem_iff_sats) apply (simp_all add: succ_Un_distrib [symmetric]) done
subsection‹Separation for Set Difference›
lemma Diff_Reflects: "REFLECTS[λx. x ∉ B, λi x. x ∉ B]" by (intro FOL_reflections)
subsection‹Instantiating the locale ‹M_basic›› text‹Separation (and Strong Replacement) for basic set-theoretic constructions
as intersection, Cartesian Product and image.›
theorem M_basic_L: " M_basic(L)" by (rule M_basic.intro [OF M_trivial_L M_basic_axioms_L])
interpretation L: M_basic L by (rule M_basic_L)
end
Messung V0.5 in Prozent
¤ 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.0.12Bemerkung:
(vorverarbeitet am 2026-09-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.