Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/Archive-of-Formal-Proofs/thys/Mereology/   (Archive of formal Proofs Version 2026-5©)  Datei vom 29.4.2026 mit Größe 8 kB image not shown  

Quelle  MM.thy   Sprache: Isabelle

 

section ‹ Minimal Mereology ›

(*<*)
theory MM
  imports M
begin
(*>*)

text ‹ Minimal mereology adds to ground mereology the axiom of weak supplementation.\footnote{
  cite‹"varzi_parts_1996"› and cite‹"casati_parts_1999"› p. 39. The name \emph{minimal mereology}
  the, controversial, idea that weak supplementation is analytic. See, for example, cite‹"simons_parts:_1987"›
 . 116, cite‹"varzi_extensionality_2008"› p. 110-1, and cite‹"cotnoir_is_2018"›. For general
  of weak supplementation see, for example cite‹"smith_mereology_2009"› pp. 507 and
 cite‹"donnelly_using_2011"›.}
›

locale MM = M +
  assumes weak_supplementation: "PP y x ==> (∃ z. P z x ∧ ¬ O z y)"

text ‹ The rest of this section considers three alternative axiomatizations of minimal mereology. The
  alternative axiomatization replaces improper with proper parthood in the consequent of weak
 .\footnote{See cite‹"simons_parts:_1987"› p. 28.}
›

locale MM1 = M +
  assumes proper_weak_supplementation: 
    "PP y x ==> (∃ z. PP z x ∧ ¬ O z y)"

sublocale MM ⊆ MM1
proof
  fix x y
  show "PP y x ==> (∃ z. PP z x ∧ ¬ O z y)"
  proof -
    assume "PP y x"
    hence "∃ z. P z x ∧ ¬ O z y" by (rule weak_supplementation)
    then obtain z where z: "P z x ∧ ¬ O z y"..
    hence "¬ O z y"..
    from z have "P z x"..                                       
    hence "P z x ∧ z ≠ x"
    proof
      show "z ≠ x"
      proof
        assume "z = x"
        hence "PP y z"
          using ‹PP y x› by (rule ssubst)
        hence "O y z" by (rule proper_implies_overlap)
        hence "O z y" by (rule overlap_symmetry)
        with ‹¬ O z y› show "False"..
      qed
    qed
    with nip_eq have "PP z x"..
    hence "PP z x ∧ ¬ O z y"
      using ‹¬ O z y›..
    thus "∃ z. PP z x ∧ ¬ O z y"..
  qed
qed

sublocale MM1 ⊆ MM
proof
  fix x y
  show weak_supplementation: "PP y x ==> (∃ z. P z x ∧ ¬ O z y)"
  proof -
    assume "PP y x"
    hence "∃ z. PP z x ∧ ¬ O z y" by (rule proper_weak_supplementation)
    then obtain z where z: "PP z x ∧ ¬ O z y"..
    hence "PP z x"..
    hence "P z x" by (rule proper_implies_part)
    moreover from z have "¬ O z y"..
    ultimately have "P z x ∧ ¬ O z y"..
    thus "∃ z. P z x ∧ ¬ O z y"..
  qed
qed

text ‹ The following two corollaries are sometimes found in the literature.\footnote{See cite‹"simons_parts:_1987"› p. 27. For the names \emph{weak company}
  \emph{strong company} see cite‹"cotnoir_non-wellfounded_2012"› p. 192-3 and cite‹"varzi_mereology_2016"›.}
›

context MM
begin

corollary weak_company: "PP y x ==> (∃ z. PP z x ∧ z ≠ y)"
proof -
  assume "PP y x"
  hence "∃ z. PP z x ∧ ¬ O z y" by (rule proper_weak_supplementation)
  then obtain z where z: "PP z x ∧ ¬ O z y"..
  hence "PP z x"..
  from z have "¬ O z y"..
  hence "z ≠ y" by (rule disjoint_implies_distinct)
  with ‹PP z x› have "PP z x ∧ z ≠ y"..
  thus "∃ z. PP z x ∧ z ≠ y"..
qed

corollary strong_company: "PP y x ==> (∃ z. PP z x ∧ ¬ P z y)"
proof -
  assume "PP y x"
  hence "∃z. PP z x ∧ ¬ O z y" by (rule proper_weak_supplementation)
  then obtain z where z: "PP z x ∧ ¬ O z y"..
  hence "PP z x"..
  from z have "¬ O z y"..
  hence "¬ P z y" by (rule disjoint_implies_not_part)
  with ‹PP z x› have  "PP z x ∧ ¬ P z y"..
  thus "∃ z. PP z x ∧ ¬ P z y"..
qed

end

text ‹ If weak supplementation is formulated in terms of nonidentical parthood, then the antisymmetry
  parthood is redundant, and we have the second alternative axiomatization of minimal mereology.\footnote{
  cite‹"cotnoir_antisymmetry_2010"› p. 399, cite‹"donnelly_using_2011"› p. 232,
 cite‹"cotnoir_non-wellfounded_2012"› p. 193 and cite‹"obojska_remarks_2013"› pp. 235-6.}
›

locale MM2 = PM +
  assumes nip_eq: "PP x y ⟷ P x y ∧ x ≠ y"
  assumes weak_supplementation: "PP y x ==> (∃ z. P z x ∧ ¬ O z y)"

sublocale MM2 ⊆ MM
proof
  fix x y
  show "PP x y ⟷ P x y ∧ x ≠ y" using nip_eq.
  show part_antisymmetry: "P x y ==> P y x ==> x = y"
  proof - 
    assume "P x y"
    assume "P y x"
    show "x = y"
    proof (rule ccontr)
      assume "x ≠ y"
      with ‹P x y› have "P x y ∧ x ≠ y"..
      with nip_eq have "PP x y"..
      hence "∃ z. P z y ∧ ¬ O z x" by (rule weak_supplementation)
      then obtain z where z: "P z y ∧ ¬ O z x"..
      hence "¬ O z x"..
      hence "¬ P z x" by (rule disjoint_implies_not_part)
      from z have "P z y"..
      hence "P z x" using ‹P y x› by (rule part_transitivity)
      with ‹¬ P z x› show "False"..
    qed
  qed
  show "PP y x ==> ∃z. P z x ∧ ¬ O z y" using weak_supplementation.
qed

sublocale MM ⊆ MM2
proof
  fix x y
  show "PP x y ⟷ (P x y ∧ x ≠ y)" using nip_eq.
  show "PP y x ==> ∃z. P z x ∧ ¬ O z y" using weak_supplementation.
qed

text ‹ Likewise, if proper parthood is adopted as primitive, then the asymmetry of proper parthood
  redundant in the context of weak supplementation, leading to the third alternative
 .\footnote{See cite‹"donnelly_using_2011"› p. 232 and cite‹"cotnoir_is_2018"›.}
›

locale MM3 =
  assumes part_eq: "P x y ⟷ PP x y ∨ x = y"
  assumes overlap_eq: "O x y ⟷ (∃ z. P z x ∧ P z y)"
  assumes proper_part_transitivity: "PP x y ==> PP y z ==> PP x z"
  assumes weak_supplementation: "PP y x ==> (∃ z. P z x ∧ ¬ O z y)"
begin

lemma part_reflexivity: "P x x"
proof -
  have "x = x"..
  hence "PP x x ∨ x = x"..
  with part_eq show "P x x"..
qed

lemma proper_part_irreflexivity: "¬ PP x x"
proof
  assume "PP x x"
  hence "∃ z. P z x ∧ ¬ O z x" by (rule weak_supplementation)
  then obtain z where z: "P z x ∧ ¬ O z x"..
  hence "¬ O z x"..
  from z have "P z x"..
  with part_reflexivity have "P z z ∧ P z x"..
  hence "∃ v. P v z ∧ P v x"..
  with overlap_eq have "O z x"..
  with ‹¬ O z x› show "False"..
qed

end

sublocale MM3 ⊆ M4
proof
  fix x y z
  show "P x y ⟷ PP x y ∨ x = y" using part_eq.
  show "O x y ⟷ (∃ z. P z x ∧ P z y)" using overlap_eq.
  show proper_part_irreflexivity: "PP x y ==> ¬ PP y x"
  proof -
    assume "PP x y"
    show "¬ PP y x"
    proof
      assume "PP y x"
      hence "PP y y" using ‹PP x y› by (rule proper_part_transitivity)
      with proper_part_irreflexivity show "False"..
    qed
  qed
  show "PP x y ==> PP y z ==> PP x z" using proper_part_transitivity.
qed

sublocale MM3 ⊆ MM
proof
  fix x y
  show "PP y x ==> (∃ z. P z x ∧ ¬ O z y)" using weak_supplementation.
qed

sublocale MM ⊆ MM3
proof
  fix x y z
  show "P x y ⟷ (PP x y ∨ x = y)" using part_eq.
  show "O x y ⟷ (∃z. P z x ∧ P z y)" using overlap_eq.
  show "PP x y ==> PP y z ==> PP x z" using proper_part_transitivity.
  show "PP y x ==> ∃z. P z x ∧ ¬ O z y" using weak_supplementation.
qed

(*<*) end (*>*)

Messung V0.5 in Prozent
C=77 H=100 G=89

¤ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet am  2026-09-29) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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.