Algebraic mereology #
Algebraic semantics models parthood as a partial order and mereological sum as join. The
reference properties of predicates are then mathlib set predicates: cumulativity is
SupClosed, divisiveness IsLowerSet and quantization IsAntichain (· ≤ ·), and Link's
closure *P is supClosure. A carrier may have a null individual, as a Boolean algebra does,
or none, as a classical mereology does. Atoms and overlap are stated relative to mathlib's
IsBot, so on an OrderBot carrier they are IsAtom and ¬ Disjoint.
Main definitions #
CUM,DIV,QUA: cumulative, divisive and quantized reference.AlgClosure P: the closure ofPunder binary sum, andFullAlgClosure Pwith the empty sum.Atom,Overlap,IsPlural,atomCount: atoms, overlap, proper pluralities, and the number of atoms below an element.HasRemainders α: every proper part is completed to the whole by a non-overlapping part.IsClassicalMereology α: classical extensional mereology, in which every inhabited predicate has a unique sum.IsExtensiveMeasure μ: extensive measure functions, and the measure phrasesQMODthey build.OverlapPred,DisjointPred,IsMaxDisjointIn,nullSchema: individuation perspectives.
Main results #
qua_cum_incompatible: a quantized predicate with two members is not cumulative.IsClassicalMereology.existsUnique_remainder: in a classical mereology a proper part has a unique remainder, so classical mereologies, like Boolean algebras, have remainders.IsExtensiveMeasure.strictMono: over a carrier with remainders an extensive measure is strictly monotone, so the measure phrases it builds are quantized (qmod_qua); the atom count is likewise extensive on sums of atoms (qua_algClosure_atomCount).nullSchema_eq: every member of a predicate lies in some individuation perspective.
Implementation notes #
AlgClosure closes under binary sums, which agrees with closure under sums of arbitrary
nonempty subsets only for finite sums. Classical mereology is defined, as in [Cha17],
by unique sums in Tarski's sense; [Hov09] compares the alternative axiomatizations. Since
Overlap excludes null parts, the element of a one-point carrier is null, so the trivial model
is not a classical mereology.
References #
Reference properties #
Cumulative, divisive and quantized reference are the mathlib set predicates
SupClosed, IsLowerSet and IsAntichain (· ≤ ·) on the extension of a predicate,
so hypotheses of these forms are applied directly: hC hx hy : P (x ⊔ y),
hD hle hx : P y, hQ hx hy hne : ¬ x ≤ y.
A predicate has divisive reference if every part of a P-element is P.
Equations
- Mereology.DIV P = IsLowerSet {x : α | P x}
Instances For
A predicate has quantized reference ([Kri89]) if no proper part of a P-element is
P.
Equations
- Mereology.QUA P = IsAntichain (fun (x1 x2 : α) => x1 ≤ x2) {x : α | P x}
Instances For
Quantization in the paper's form holds if no P-element lies strictly below another.
A singleton predicate is quantized ([Kri89] (T 1)).
The P-atoms ([Kri89]) are the minimal P-elements.
Equations
- Mereology.atomize P = Minimal P
Instances For
A predicate has cumulative reference ([Lin83], [Kri89]) if it is closed under sum. [Kri98] also requires two distinct members, and [CK16] give a form closed under sums of arbitrary nonempty subsets.
Equations
- Mereology.CUM P = SupClosed {x : α | P x}
Instances For
Equations
- Mereology.instDecidableCUMOfFintypeOfDecidablePred = decidable_of_iff (∀ (x : α), P x → ∀ (y : α), P y → P (x ⊔ y)) ⋯
A cumulative predicate has at most one maximal element.
Algebraic closure #
The algebraic closure *P of P ([Lin83]) is the least predicate containing P and
closed under binary sum. The inductive presentation supports induction on sums;
setOf_algClosure identifies it with mathlib's supClosure.
- base
{α : Type u_1}
[SemilatticeSup α]
{P : α → Prop}
{x : α}
: P x → AlgClosure P x
Every
P-element is in*P. - sum
{α : Type u_1}
[SemilatticeSup α]
{P : α → Prop}
{x y : α}
: AlgClosure P x → AlgClosure P y → AlgClosure P (x ⊔ y)
*Pis closed under sum.
Instances For
*P contains the sum of every nonempty finite family from *P.
Every element of *P has a P-element below it.
A cumulative predicate is its own closure ([CK16]).
*P is mathlib's supClosure of the extension of P.
*P holds of exactly the sums of nonempty finite families of P-elements, the finite case
of the closure of [CK16] and [Cha17] under sums of nonempty
subsets.
The full algebraic closure ×P adds the empty sum ⊥ to *P, closing P under the sums of
all finite families, the empty one included ([BN18]'s (30)).
Equations
- Mereology.FullAlgClosure P x = (Mereology.AlgClosure P x ∨ x = ⊥)
Instances For
×P holds of exactly the sums of finite families of P-elements.
Atoms and overlap #
The null individual of a carrier, if it has one, is its IsBot element: ⊥ on an
OrderBot carrier, and nothing on a NoBotOrder carrier or a classical mereology.
Equations
- Mereology.instDecidableIsBotOfOrderBotOfDecidableEq_linglib x = decidable_of_iff (x = ⊥) ⋯
Equations
- Mereology.instDecidableIsBotOfFintypeOfDecidableLE_linglib x = { decide := decide (∀ a ∈ Finset.univ, x ≤ a), reflects_decide := ⋯ }
An atom ([Lin83]) is a non-null element with no non-null proper part, that is, a minimal
non-null element. The P-relative notion is atomize.
Equations
- Mereology.Atom x = Minimal (fun (x : α) => ¬IsBot x) x
Instances For
An atom's only non-null part is itself.
In a well-founded part order every non-null element has an atom below it, so finite carriers are atomic ([CK16]).
atomCount α x is the number of atoms below x ([CK16]).
Equations
- Mereology.atomCount α x = {a : α | Mereology.Atom a ∧ a ≤ x}.ncard
Instances For
Two elements overlap ([Kri98]) if they share a non-null part.
Equations
- Mereology.Overlap x y = ∃ (z : α), ¬IsBot z ∧ z ≤ x ∧ z ≤ y
Instances For
A non-null part of y overlaps y.
Pluralities #
A proper plurality of Ps ([Lin83]) is a sum of P-elements with two distinct proper
P-parts.
Equations
- Mereology.IsPlural P x = (Mereology.AlgClosure P x ∧ ∃ a < x, ∃ b < x, P a ∧ P b ∧ a ≠ b)
Instances For
A predicate with at most one member has no plurality.
An atom in the closure of a predicate is one of its members, since an atom is not a proper sum.
For a predicate holding only of atoms, a plurality is a non-atomic element of the closure.
Bounded and bottomless carriers #
The atoms of the non-null predicate on a bounded carrier are its IsAtoms.
Without a null individual, the atoms are the minimal elements.
The remainder principle #
A proper part of a whole is completed to the whole by a remainder that does not overlap it.
This is the remainder principle of [Kri98], the relative complementarity of
[Kri89], and the unique separation of [Cha17]. Boolean algebras satisfy it with
the difference y \ x, and so do classical mereologies (IsClassicalMereology.exists_remainder).
The sources also require the remainder to be unique; the results below need only existence.
A part structure has remainders if every proper part x of y is completed to y by a
part that does not overlap x.
- exists_remainder ⦃x y : α⦄ : x < y → ∃ (z : α), ¬Overlap z x ∧ x ⊔ z = y
Instances
Classical mereology #
Classical extensional mereology is the system of [CK16] and
[Cha17]: a partial order in which every inhabited predicate has a unique sum in
Tarski's sense. Weak and strong supplementation, the remainder principle and the absence of a
null individual are theorems; [Hov09] compares this axiomatization with others. Binary sums
are fusions of pairs (IsClassicalMereology.toSemilatticeSup), and the nonempty subsets of a set
with two elements or more form a classical mereology.
t is a sum of the P-elements in Tarski's sense if it lies above each of them and each of
its parts overlaps one of them.
Equations
- Mereology.IsFusion P t = ((∀ (x : α), P x → x ≤ t) ∧ ∀ y ≤ t, ∃ (x : α), P x ∧ Mereology.Overlap y x)
Instances For
A classical mereology has no null individual, since the predicate true of it alone would have no sum.
In a classical mereology, overlap is sharing a part.
Each element is the sum of itself.
Sums are unique.
A proper part of y leaves a part of y that does not overlap it (weak supplementation),
since otherwise y would be a second sum of the part alone.
A sum is a least upper bound, since weak supplementation forces the sum, an upper bound by definition, to be the least one.
If y is not part of u, some part of y does not overlap u (strong
supplementation).
A classical mereology satisfies the remainder principle, since the sum of the parts of y
that do not overlap x completes x to y.
A classical mereology has no bottom element.
An element all of whose parts overlap u is part of u (extensionality).
The remainder of a proper part is unique, since each of two remainders lies in y and so
has every part overlapping x or the other remainder.
A proper part of y has exactly one remainder in y, the unique separation of
[Kri98] and [Cha17].
Every pair has a least upper bound, the sum of the pair.
The binary sum a ⊔ b of a classical mereology is the sum of the pair {a, b}.
Equations
- Mereology.IsClassicalMereology.toSemilatticeSup = { toPartialOrder := inst✝¹, sup := fun (a b : α) => Classical.choose ⋯, le_sup_left := ⋯, le_sup_right := ⋯, sup_le := ⋯ }
Instances For
The nonempty subsets of a set with two elements or more form a classical mereology whose sums are unions ([Cha17]).
Extensive measures #
[Kri89] and [Kri98] define an extensive measure by additivity over non-overlapping elements and positivity, and derive from the remainder principle that a proper part measures less than the whole. [CK16] call a measure extensive on a set when it has that property there. Either way, the measure phrases such a measure builds are quantized.
The measure phrase "n units of R" denotes the R-elements of measure n, as
[Kri89] analyses five ounces of gold.
Equations
- Mereology.QMOD R μ n x = (R x ∧ μ x = n)
Instances For
On a finite carrier the atom count is strictly monotone on the closure of a predicate that holds only of atoms.
The sums of P-atoms with n atoms form an antichain, so two cats is quantized
([CK16]).
An extensive measure function ([Kri89], [Kri98]) is additive over non-overlapping elements and positive on non-null ones.
- additive (x y : α) : ¬Overlap x y → μ (x ⊔ y) = μ x + μ y
- positive (x : α) : ¬IsBot x → 0 < μ x
Instances
Over a carrier with remainders, an extensive measure gives a proper part a smaller measure than the whole, which adds a non-null remainder to it.
Individuation perspectives #
A predicate is overlapping if two distinct members share a part, and disjoint otherwise; a
maximally disjoint subset is an individuation perspective ([Lan11], [Lan20]),
and the null schema of [SF21] unions all perspectives. The overlap relation
ov is a parameter (mereologically, Overlap).
A predicate overlaps if two distinct members share a part.
Equations
- Mereology.OverlapPred ov P = ∃ x ∈ P, ∃ y ∈ P, x ≠ y ∧ ov x y
Instances For
A predicate is disjoint if no two distinct members share a part.
Equations
- Mereology.DisjointPred ov P = ¬Mereology.OverlapPred ov P
Instances For
D is a maximally disjoint subset of P if it is disjoint and cannot be extended within P
without overlap.
Equations
- Mereology.IsMaxDisjointIn ov D P = (D ⊆ P ∧ Mereology.DisjointPred ov D ∧ ∀ x ∈ P, x ∉ D → Mereology.OverlapPred ov (insert x D))
Instances For
The null individuation schema of P is the union of its maximally disjoint subsets.
Equations
- Mereology.nullSchema ov P = {x : α | ∃ (D : Set α), Mereology.IsMaxDisjointIn ov D P ∧ x ∈ D}
Instances For
The union of two distinct maximally disjoint subsets overlaps.
The null schema of a predicate with two distinct perspectives overlaps.
A disjoint predicate is its own unique perspective.
Every member of a predicate lies in some perspective on it, since a disjoint subset containing it extends to a maximal one.
The null schema is the identity, since every member of a predicate is in some perspective.
On a carrier with a null individual, a predicate is disjoint iff its members are pairwise disjoint in the lattice sense.