text‹ The theory of \emph{closed mereology} adds to ground mereology conditions guaranteeing the
of sums and products.\footnote{See cite‹"masolo_atomicity_1999"› p. 238. cite‹"varzi_parts_1996"› p. 263 cite‹"casati_parts_1999"› p. 43 give a slightly weaker version of the sum closure axiom, which is
given axioms considered later.} ›
locale CM = M + assumes sum_eq: "x ⊕ y = (THE z. ∀v. O v z ⟷ O v x ∨ O v y)" assumes sum_closure: "∃z. ∀v. O v z ⟷ O v x ∨ O v y" assumes product_eq: "x ⊗ y = (THE z. ∀v. P v z ⟷ P v x ∧ P v y)" assumes product_closure: "O x y ==>∃z. ∀v. P v z ⟷ P v x ∧ P v y" begin
subsection‹ Products ›
lemma product_intro: "(∀w. P w z ⟷ (P w x ∧ P w y)) ==> x ⊗ y = z" proof - assume z: "∀w. P w z ⟷ (P w x ∧ P w y)" hence"(THE v. ∀w. P w v ⟷ P w x ∧ P w y) = z" proof (rule the_equality) fix v assume v: "∀w. P w v ⟷ (P w x ∧ P w y)" have"∀w. P w v ⟷ P w z" proof fix w from z have"P w z ⟷ (P w x ∧ P w y)".. moreoverfrom v have"P w v ⟷ (P w x ∧ P w y)".. ultimatelyshow"P w v ⟷ P w z"by (rule ssubst) qed with part_extensionality show"v = z".. qed thus"x ⊗ y = z" using product_eq by (rule subst) qed
lemma product_idempotence: "x ⊗ x = x" proof - have"∀w. P w x ⟷ P w x ∧ P w x" proof fix w show"P w x ⟷ P w x ∧ P w x" proof assume"P w x" thus"P w x ∧ P w x"using‹P w x›.. next assume"P w x ∧ P w x" thus"P w x".. qed qed thus"x ⊗ x = x"by (rule product_intro) qed
lemma product_character: "O x y ==> (∀w. P w (x ⊗ y) ⟷ (P w x ∧ P w y))" proof - assume"O x y" hence"∃z. ∀w. P w z ⟷ (P w x ∧ P w y)"by (rule product_closure) thenobtain z where z: "∀w. P w z ⟷ (P w x ∧ P w y)".. hence"x ⊗ y = z"by (rule product_intro) thus"∀w. P w (x ⊗ y) ⟷ P w x ∧ P w y" using z by (rule ssubst) qed
lemma product_commutativity: "O x y ==> x ⊗ y = y ⊗ x" proof - assume"O x y" hence"O y x"by (rule overlap_symmetry) hence"∀w. P w (y ⊗ x) ⟷ (P w y ∧ P w x)"by (rule product_character) hence"∀w. P w (y ⊗ x) ⟷ (P w x ∧ P w y)"by auto thus"x ⊗ y = y ⊗ x"by (rule product_intro) qed
lemma product_in_factors: "O x y ==> P (x ⊗ y) x ∧ P (x ⊗ y) y" proof - assume"O x y" hence"∀w. P w (x ⊗ y) ⟷ P w x ∧ P w y"by (rule product_character) hence"P (x ⊗ y) (x ⊗ y) ⟷ P (x ⊗ y) x ∧ P (x ⊗ y) y".. moreoverhave"P (x ⊗ y) (x ⊗ y)"by (rule part_reflexivity) ultimatelyshow"P (x ⊗ y) x ∧ P (x ⊗ y) y".. qed
lemma product_in_first_factor: "O x y ==> P (x ⊗ y) x" proof - assume"O x y" hence"P (x ⊗ y) x ∧ P (x ⊗ y) y"by (rule product_in_factors) thus"P (x ⊗ y) x".. qed
lemma product_in_second_factor: "O x y ==> P (x ⊗ y) y" proof - assume"O x y" hence"P (x ⊗ y) x ∧ P (x ⊗ y) y"by (rule product_in_factors) thus"P (x ⊗ y) y".. qed
lemma nonpart_implies_proper_product: "¬ P x y ∧ O x y ==> PP (x ⊗ y) x" proof - assume antecedent: "¬ P x y ∧ O x y" hence"¬ P x y".. from antecedent have"O x y".. hence"P (x ⊗ y) x"by (rule product_in_first_factor) moreoverhave"(x ⊗ y) ≠ x" proof assume"(x ⊗ y) = x" hence"¬ P (x ⊗ y) y" using‹¬ P x y›by (rule ssubst) moreoverhave"P (x ⊗ y) y" using‹O x y›by (rule product_in_second_factor) ultimatelyshow"False".. qed ultimatelyhave"P (x ⊗ y) x ∧ x ⊗ y ≠ x".. with nip_eq show"PP (x ⊗ y) x".. qed
lemma common_part_in_product: "P z x ∧ P z y ==> P z (x ⊗ y)" proof - assume antecedent: "P z x ∧ P z y" hence"∃z. P z x ∧ P z y".. with overlap_eq have"O x y".. hence"∀w. P w (x ⊗ y) ⟷ (P w x ∧ P w y)" by (rule product_character) hence"P z (x ⊗ y) ⟷ (P z x ∧ P z y)".. thus"P z (x ⊗ y)" using‹P z x ∧ P z y›.. qed
lemma product_part_in_factors: "O x y ==> P z (x ⊗ y) ==> P z x ∧ P z y" proof - assume"O x y" hence"∀w. P w (x ⊗ y) ⟷ (P w x ∧ P w y)" by (rule product_character) hence"P z (x ⊗ y) ⟷ (P z x ∧ P z y)".. moreoverassume"P z (x ⊗ y)" ultimatelyshow"P z x ∧ P z y".. qed
corollary product_part_in_first_factor: "O x y ==> P z (x ⊗ y) ==> P z x" proof - assume"O x y" moreoverassume"P z (x ⊗ y)" ultimatelyhave"P z x ∧ P z y" by (rule product_part_in_factors) thus"P z x".. qed
corollary product_part_in_second_factor: "O x y ==> P z (x ⊗ y) ==> P z y" proof - assume"O x y" moreoverassume"P z (x ⊗ y)" ultimatelyhave"P z x ∧ P z y" by (rule product_part_in_factors) thus"P z y".. qed
lemma part_product_identity: "P x y ==> x ⊗ y = x" proof - assume"P x y" with part_reflexivity have"P x x ∧ P x y".. hence"P x (x ⊗ y)"by (rule common_part_in_product) have"O x y"using‹P x y›by (rule part_implies_overlap) hence"P (x ⊗ y) x"by (rule product_in_first_factor) thus"x ⊗ y = x"using‹P x (x ⊗ y)›by (rule part_antisymmetry) qed
lemma product_overlap: "P z x ==> O z y ==> O z (x ⊗ y)" proof - assume"P z x" assume"O z y" with overlap_eq have"∃v. P v z ∧ P v y".. thenobtain v where v: "P v z ∧ P v y".. hence"P v y".. from v have"P v z".. hence"P v x"using‹P z x›by (rule part_transitivity) hence"P v x ∧ P v y"using‹P v y›.. hence"P v (x ⊗ y)"by (rule common_part_in_product) with‹P v z›have"P v z ∧ P v (x ⊗ y)".. hence"∃v. P v z ∧ P v (x ⊗ y)".. with overlap_eq show"O z (x ⊗ y)".. qed
lemma disjoint_from_second_factor: "P x y ∧¬ O x (y ⊗ z) ==>¬ O x z" proof - assume antecedent: "P x y ∧¬ O x (y ⊗ z)" hence"¬ O x (y ⊗ z)".. show"¬ O x z" proof from antecedent have"P x y".. moreoverassume"O x z" ultimatelyhave"O x (y ⊗ z)" by (rule product_overlap) with‹¬ O x (y ⊗ z)›show"False".. qed qed
lemma converse_product_overlap: "O x y ==> O z (x ⊗ y) ==> O z y" proof - assume"O x y" hence"P (x ⊗ y) y"by (rule product_in_second_factor) moreoverassume"O z (x ⊗ y)" ultimatelyshow"O z y" by (rule overlap_monotonicity) qed
lemma part_product_in_whole_product: "O x y ==> P x v ∧ P y z ==> P (x ⊗ y) (v ⊗ z)" proof - assume"O x y" assume"P x v ∧ P y z" have"∀w. P w (x ⊗ y) ⟶ P w (v ⊗ z)" proof fix w show"P w (x ⊗ y) ⟶ P w (v ⊗ z)" proof assume"P w (x ⊗ y)" with‹O x y›have"P w x ∧ P w y" by (rule product_part_in_factors) have"P w v ∧ P w z" proof from‹P w x ∧ P w y›have"P w x".. moreoverfrom‹P x v ∧ P y z›have"P x v".. ultimatelyshow"P w v"by (rule part_transitivity) next from‹P w x ∧ P w y›have"P w y".. moreoverfrom‹P x v ∧ P y z›have"P y z".. ultimatelyshow"P w z"by (rule part_transitivity) qed thus"P w (v ⊗ z)"by (rule common_part_in_product) qed qed hence"P (x ⊗ y) (x ⊗ y) ⟶ P (x ⊗ y) (v ⊗ z)".. moreoverhave"P (x ⊗ y) (x ⊗ y)"by (rule part_reflexivity) ultimatelyshow"P (x ⊗ y) (v ⊗ z)".. qed
lemma right_associated_product: "(∃w. P w x ∧ P w y ∧ P w z) ==> (∀w. P w (x ⊗ (y ⊗ z)) ⟷ P w x ∧ (P w y ∧ P w z))" proof - assume antecedent: "(∃w. P w x ∧ P w y ∧ P w z)" thenobtain w where w: "P w x ∧ P w y ∧ P w z".. hence"P w x".. from w have"P w y ∧ P w z".. hence"∃w. P w y ∧ P w z".. with overlap_eq have"O y z".. hence yz: "∀w. P w (y ⊗ z) ⟷ (P w y ∧ P w z)" by (rule product_character) hence"P w (y ⊗ z) ⟷ (P w y ∧ P w z)".. hence"P w (y ⊗ z)" using‹P w y ∧ P w z›.. with‹P w x›have"P w x ∧ P w (y ⊗ z)".. hence"∃w. P w x ∧ P w (y ⊗ z)".. with overlap_eq have"O x (y ⊗ z)".. hence xyz: "∀w. P w (x ⊗ (y ⊗ z)) ⟷ P w x ∧ P w (y ⊗ z)" by (rule product_character) show"∀w. P w (x ⊗ (y ⊗ z)) ⟷ P w x ∧ (P w y ∧ P w z)" proof fix w from yz have wyz: "P w (y ⊗ z) ⟷ (P w y ∧ P w z)".. moreoverfrom xyz have "P w (x ⊗ (y ⊗ z)) ⟷ P w x ∧ P w (y ⊗ z)".. ultimatelyshow "P w (x ⊗ (y ⊗ z)) ⟷ P w x ∧ (P w y ∧ P w z)" by (rule subst) qed qed
lemma left_associated_product: "(∃w. P w x ∧ P w y ∧ P w z) ==> (∀w. P w ((x ⊗ y) ⊗ z) ⟷ (P w x ∧ P w y) ∧ P w z)" proof - assume antecedent: "(∃w. P w x ∧ P w y ∧ P w z)" thenobtain w where w: "P w x ∧ P w y ∧ P w z".. hence"P w y ∧ P w z".. hence"P w y".. have"P w z" using‹P w y ∧ P w z›.. from w have"P w x".. hence"P w x ∧ P w y" using‹P w y›.. hence"∃z. P z x ∧ P z y".. with overlap_eq have"O x y".. hence xy: "∀w. P w (x ⊗ y) ⟷ (P w x ∧ P w y)" by (rule product_character) hence"P w (x ⊗ y) ⟷ (P w x ∧ P w y)".. hence"P w (x ⊗ y)" using‹P w x ∧ P w y›.. hence"P w (x ⊗ y) ∧ P w z" using‹P w z›.. hence"∃w. P w (x ⊗ y) ∧ P w z".. with overlap_eq have"O (x ⊗ y) z".. hence xyz: "∀w. P w ((x ⊗ y) ⊗ z) ⟷ P w (x ⊗ y) ∧ P w z" by (rule product_character) show"∀w. P w ((x ⊗ y) ⊗ z) ⟷ (P w x ∧ P w y) ∧ P w z" proof fix v from xy have vxy: "P v (x ⊗ y) ⟷ (P v x ∧ P v y)".. moreoverfrom xyz have "P v ((x ⊗ y) ⊗ z) ⟷ P v (x ⊗ y) ∧ P v z".. ultimatelyshow"P v ((x ⊗ y) ⊗ z) ⟷ (P v x ∧ P v y) ∧ P v z" by (rule subst) qed qed
theorem product_associativity: "(∃w. P w x ∧ P w y ∧ P w z) ==> x ⊗ (y ⊗ z) = (x ⊗ y) ⊗ z" proof - assume ante:"(∃w. P w x ∧ P w y ∧ P w z)" hence"(∀w. P w (x ⊗ (y ⊗ z)) ⟷ P w x ∧ (P w y ∧ P w z))" by (rule right_associated_product) moreoverfrom ante have "(∀w. P w ((x ⊗ y) ⊗ z) ⟷ (P w x ∧ P w y) ∧ P w z)" by (rule left_associated_product) ultimatelyhave"∀w. P w (x ⊗ (y ⊗ z)) ⟷ P w ((x ⊗ y) ⊗ z)" by simp with part_extensionality show"x ⊗ (y ⊗ z) = (x ⊗ y) ⊗ z".. qed
end
subsection‹ Differences ›
text‹ Some writers also add to closed mereology the axiom of difference closure.\footnote{See, for example, cite‹"varzi_parts_1996"› p. 263 and cite‹"masolo_atomicity_1999"› p. 238.} ›
locale CMD = CM + assumes difference_eq: "x ⊖ y = (THE z. ∀w. P w z ⟷ P w x ∧¬ O w y)" assumes difference_closure: "(∃w. P w x ∧¬ O w y) ==> (∃z. ∀w. P w z ⟷ P w x ∧¬ O w y)" begin
lemma difference_intro: "(∀w. P w z ⟷ P w x ∧¬ O w y) ==> x ⊖ y = z" proof - assume antecedent: "(∀w. P w z ⟷ P w x ∧¬ O w y)" hence"(THE z. ∀w. P w z ⟷ P w x ∧¬ O w y) = z" proof (rule the_equality) fix v assume v: "(∀w. P w v ⟷ P w x ∧¬ O w y)" have"∀w. P w v ⟷ P w z" proof fix w from antecedent have"P w z ⟷ P w x ∧¬ O w y".. moreoverfrom v have"P w v ⟷ P w x ∧¬ O w y".. ultimatelyshow"P w v ⟷ P w z"by (rule ssubst) qed with part_extensionality show"v = z".. qed with difference_eq show"x ⊖ y = z"by (rule ssubst) qed
lemma difference_idempotence: "¬ O x y ==> (x ⊖ y) = x" proof - assume"¬ O x y" hence"¬ O y x"by (rule disjoint_symmetry) have"∀w. P w x ⟷ P w x ∧¬ O w y" proof fix w show"P w x ⟷ P w x ∧¬ O w y" proof assume"P w x" hence"¬ O y w"using‹¬ O y x› by (rule disjoint_demonotonicity) hence"¬ O w y"by (rule disjoint_symmetry) with‹P w x›show"P w x ∧¬ O w y".. next assume"P w x ∧¬ O w y" thus"P w x".. qed qed thus"(x ⊖ y) = x"by (rule difference_intro) qed
lemma difference_character: "(∃w. P w x ∧¬ O w y) ==> (∀w. P w (x ⊖ y) ⟷ P w x ∧¬ O w y)" proof - assume"∃w. P w x ∧¬ O w y" hence"∃z. ∀w. P w z ⟷ P w x ∧¬ O w y"by (rule difference_closure) thenobtain z where z: "∀w. P w z ⟷ P w x ∧¬ O w y".. hence"(x ⊖ y) = z"by (rule difference_intro) thus"∀w. P w (x ⊖ y) ⟷ P w x ∧¬ O w y"using z by (rule ssubst) qed
lemma difference_disjointness: "(∃z. P z x ∧¬ O z y) ==>¬ O y (x ⊖ y)" proof - assume"∃z. P z x ∧¬ O z y" hence xmy: "∀w. P w (x ⊖ y) ⟷ (P w x ∧¬ O w y)" by (rule difference_character) show"¬ O y (x ⊖ y)" proof assume"O y (x ⊖ y)" with overlap_eq have"∃v. P v y ∧ P v (x ⊖ y)".. thenobtain v where v: "P v y ∧ P v (x ⊖ y)".. from xmy have"P v (x ⊖ y) ⟷ (P v x ∧¬ O v y)".. moreoverfrom v have"P v (x ⊖ y)".. ultimatelyhave"P v x ∧¬ O v y".. hence"¬ O v y".. moreoverfrom v have"P v y".. hence"O v y"by (rule part_implies_overlap) ultimatelyshow"False".. qed qed
end
subsection‹ The Universe ›
text‹ Another closure condition sometimes considered is the existence of the universe.\footnote{
, for example, cite‹"varzi_parts_1996"› p. 264 and cite‹"casati_parts_1999"› p. 45.} ›
locale CMU = CM + assumes universe_eq: "u = (THE z. ∀w. P w z)" assumes universe_closure: "∃y. ∀x. P x y" begin
lemma universe_intro: "(∀w. P w z) ==> u = z" proof - assume z: "∀w. P w z" hence"(THE z. ∀w. P w z) = z" proof (rule the_equality) fix v assume v: "∀w. P w v" have"∀w. P w v ⟷ P w z" proof fix w show"P w v ⟷ P w z" proof assume"P w v" from z show"P w z".. next assume"P w z" from v show"P w v".. qed qed with part_extensionality show"v = z".. qed thus"u = z"using universe_eq by (rule subst) qed
lemma universe_character: "P x u" proof - from universe_closure obtain y where y: "∀x. P x y".. hence"u = y"by (rule universe_intro) hence"∀x. P x u"using y by (rule ssubst) thus"P x u".. qed
lemma"¬ PP u x" proof assume"PP u x" hence"¬ P x u"by (rule proper_implies_not_part) thus"False"using universe_character.. qed
lemma product_universe_implies_factor_universe: "O x y ==> x ⊗ y = u ==> x = u" proof - assume"x ⊗ y = u" moreoverassume"O x y" hence"P (x ⊗ y) x" by (rule product_in_first_factor) ultimatelyhave"P u x" by (rule subst) with universe_character show"x = u" by (rule part_antisymmetry) qed
end
subsection‹ Complements ›
text‹ As is a condition ensuring the existence of complements.\footnote{See, for example, cite‹"varzi_parts_1996"› p. 264 and cite‹"casati_parts_1999"› p. 45.} ›
locale CMC = CM + assumes complement_eq: "←-x = (THE z. ∀w. P w z ⟷¬ O w x)" assumes complement_closure: "(∃w. ¬ O w x) ==> (∃z. ∀w. P w z ⟷¬ O w x)" assumes difference_eq: "x ⊖ y = (THE z. ∀w. P w z ⟷ P w x ∧¬ O w y)" begin
lemma complement_intro: "(∀w. P w z ⟷¬ O w x) ==>←-x = z" proof - assume antecedent: "∀w. P w z ⟷¬ O w x" hence"(THE z. ∀w. P w z ⟷¬ O w x) = z" proof (rule the_equality) fix v assume v: "∀w. P w v ⟷¬ O w x" have"∀w. P w v ⟷ P w z" proof fix w from antecedent have"P w z ⟷¬ O w x".. moreoverfrom v have"P w v ⟷¬ O w x".. ultimatelyshow"P w v ⟷ P w z"by (rule ssubst) qed with part_extensionality show"v = z".. qed with complement_eq show"←-x = z"by (rule ssubst) qed
lemma complement_character: "(∃w. ¬ O w x) ==> (∀w. P w (←-x) ⟷¬ O w x)" proof - assume"∃w. ¬ O w x" hence"(∃z. ∀w. P w z ⟷¬ O w x)"by (rule complement_closure) thenobtain z where z: "∀w. P w z ⟷¬ O w x".. hence"←-x = z"by (rule complement_intro) thus"∀w. P w (←-x) ⟷¬ O w x" using z by (rule ssubst) qed
lemma not_complement_part: "∃w. ¬ O w x ==>¬ P x (←-x)" proof - assume"∃w. ¬ O w x" hence"∀w. P w (←-x) ⟷¬ O w x" by (rule complement_character) hence"P x (←-x) ⟷¬ O x x".. show"¬ P x (←-x)" proof assume"P x (←-x)" with‹P x (←-x) ⟷¬ O x x›have"¬ O x x".. thus"False"using overlap_reflexivity.. qed qed
lemma complement_part: "¬ O x y ==> P x (←-y)" proof - assume"¬ O x y" hence"∃z. ¬ O z y".. hence"∀w. P w (←-y) ⟷¬ O w y" by (rule complement_character) hence"P x (←-y) ⟷¬ O x y".. thus"P x (←-y)"using‹¬ O x y›.. qed
lemma complement_overlap: "¬ O x y ==> O x (←-y)" proof - assume"¬ O x y" hence"P x (←-y)" by (rule complement_part) thus"O x (←-y)" by (rule part_implies_overlap) qed
lemma or_complement_overlap: "∀y. O y x ∨ O y (←-x)" proof fix y show"O y x ∨ O y (←-x)" proof cases assume"O y x" thus"O y x ∨ O y (←-x)".. next assume"¬ O y x" hence"O y (←-x)" by (rule complement_overlap) thus"O y x ∨ O y (←-x)".. qed qed
lemma complement_disjointness: "∃v. ¬ O v x ==>¬ O x (←-x)" proof - assume"∃v. ¬ O v x" hence w: "∀w. P w (←-x) ⟷¬ O w x" by (rule complement_character) show"¬ O x (←-x)" proof assume"O x (←-x)" with overlap_eq have"∃v. P v x ∧ P v (←-x)".. thenobtain v where v: "P v x ∧ P v (←-x)".. from w have"P v (←-x) ⟷¬ O v x".. moreoverfrom v have"P v (←-x)".. ultimatelyhave"¬ O v x".. moreoverfrom v have"P v x".. hence"O v x"by (rule part_implies_overlap) ultimatelyshow"False".. qed qed
lemma part_disjoint_from_complement: "∃v. ¬ O v x ==> P y x ==>¬ O y (←-x)" proof assume"∃v. ¬ O v x" hence"¬ O x (←-x)"by (rule complement_disjointness) assume"P y x" assume"O y (←-x)" with overlap_eq have"∃v. P v y ∧ P v (←-x)".. thenobtain v where v: "P v y ∧ P v (←-x)".. hence"P v y".. hence"P v x"using‹P y x›by (rule part_transitivity) moreoverfrom v have"P v (←-x)".. ultimatelyhave"P v x ∧ P v (←-x)".. hence"∃v. P v x ∧ P v (←-x)".. with overlap_eq have"O x (←-x)".. with‹¬ O x (←-x)›show"False".. qed
lemma product_complement_character: "(∃w. P w x ∧¬ O w y) ==> (∀w. P w (x ⊗ (←-y)) ⟷ (P w x ∧ (¬ O w y)))" proof - assume antecedent: "∃w. P w x ∧¬ O w y" thenobtain w where w: "P w x ∧¬ O w y".. hence"P w x".. moreoverfrom w have"¬ O w y".. hence"P w (←-y)"by (rule complement_part) ultimatelyhave"P w x ∧ P w (←-y)".. hence"∃w. P w x ∧ P w (←-y)".. with overlap_eq have"O x (←-y)".. hence prod: "(∀w. P w (x ⊗ (←-y)) ⟷ (P w x ∧ P w (←-y)))" by (rule product_character) show"∀w. P w (x ⊗ (←-y)) ⟷ (P w x ∧ (¬ O w y))" proof fix v from w have"¬ O w y".. hence"∃w. ¬ O w y".. hence"∀w. P w (←-y) ⟷¬ O w y" by (rule complement_character) hence"P v (←-y) ⟷¬ O v y".. moreoverhave"P v (x ⊗ (←-y)) ⟷ (P v x ∧ P v (←-y))" using prod.. ultimatelyshow"P v (x ⊗ (←-y)) ⟷ (P v x ∧ (¬ O v y))" by (rule subst) qed qed
theorem difference_closure: "(∃w. P w x ∧¬ O w y) ==> (∃z. ∀w. P w z ⟷ P w x ∧¬ O w y)" proof - assume"∃w. P w x ∧¬ O w y" hence"∀w. P w (x ⊗ (←-y)) ⟷ P w x ∧¬ O w y" by (rule product_complement_character) thus"(∃z. ∀w. P w z ⟷ P w x ∧¬ O w y)"by (rule exI) qed
end
sublocale CMC ⊆ CMD proof fix x y show"x ⊖ y = (THE z. ∀w. P w z = (P w x ∧¬ O w y))" using difference_eq. show"(∃w. P w x ∧¬ O w y) ==> (∃z. ∀w. P w z = (P w x ∧¬ O w y))" using difference_closure. qed
corollary (in CMC) difference_is_product_of_complement: "(∃w. P w x ∧¬ O w y) ==> (x ⊖ y) = x ⊗ (←-y)" proof - assume antecedent: "∃w. P w x ∧¬ O w y" hence"∀w. P w (x ⊗ (←-y)) ⟷ P w x ∧¬ O w y" by (rule product_complement_character) thus"(x ⊖ y) = x ⊗ (←-y)"by (rule difference_intro) qed
text‹ Universe and difference closure entail complement closure, since the difference of an individual
the universe is the individual's complement. ›
locale CMUD = CMU + CMD + assumes complement_eq: "←-x = (THE z. ∀w. P w z ⟷¬ O w x)" begin
lemma universe_difference: "(∃w. ¬ O w x) ==> (∀w. P w (u ⊖ x) ⟷¬ O w x)" proof - assume"∃w. ¬ O w x" thenobtain w where w: "¬ O w x".. from universe_character have"P w u". hence"P w u ∧¬ O w x"using‹¬ O w x›.. hence"∃z. P z u ∧¬ O z x".. hence ux: "∀w. P w (u ⊖ x) ⟷ (P w u ∧¬ O w x)" by (rule difference_character) show"∀w. P w (u ⊖ x) ⟷¬ O w x" proof fix w from ux have wux: "P w (u ⊖ x) ⟷ (P w u ∧¬ O w x)".. show"P w (u ⊖ x) ⟷¬ O w x" proof assume"P w (u ⊖ x)" with wux have"P w u ∧¬ O w x".. thus"¬ O w x".. next assume"¬ O w x" from universe_character have"P w u". hence"P w u ∧¬ O w x"using‹¬ O w x›.. with wux show"P w (u ⊖ x)".. qed qed qed
theorem complement_closure: "(∃w. ¬ O w x) ==> (∃z. ∀w. P w z ⟷¬ O w x)" proof - assume"∃w. ¬ O w x" hence"∀w. P w (u ⊖ x) ⟷¬ O w x" by (rule universe_difference) thus"∃z. ∀w. P w z ⟷¬ O w x".. qed
end
sublocale CMUD ⊆ CMC proof fix x y show"←-x = (THE z. ∀w. P w z ⟷ (¬ O w x))" using complement_eq. show"∃w. ¬ O w x ==>∃z. ∀w. P w z ⟷ (¬ O w x)" using complement_closure. show"x ⊖ y = (THE z. ∀w. P w z = (P w x ∧¬ O w y))" using difference_eq. qed
corollary (in CMUD) complement_universe_difference: "(∃y. ¬ O y x) ==>←-x = (u ⊖ x)" proof - assume"∃w. ¬ O w x" hence"∀w. P w (u ⊖ x) ⟷¬ O w x" by (rule universe_difference) thus" ←-x = (u ⊖ x)" by (rule complement_intro) qed
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.