Schwarzschild Covers and Partitions #
A cover of a plurality P is a set of nonempty subpluralities of P
that jointly exhaust it ([Sch96b]). [Sch96b]'s
Part operator distributes a predicate over a contextually-supplied
cover (the free variable Cov), generalizing [Hig80]'s
partition-based distributivity to overlapping covers — so that
[Gil87]'s the men wrote musicals (Rodgers, Hammerstein, Hart; no
partition works, but the overlapping cover {Rodgers⊕Hammerstein,
Rodgers⊕Hart} does) comes out true.
Here covers are recast mereologically: parts are join-semilattice
elements and "jointly exhaust" becomes "least upper bound = whole" — the
⊕C = X form of [Sau03] (the downstream consumer,
Studies/Sauerland2003.lean), which [Cha17] also adopts,
extending it to the temporal domain via stratified reference.
IsFinCover and algClosure_of_finCover are the substrate
[Sau03]'s distributive ∗-operator uses.
Main declarations #
IsCover— a set of parts whose least upper bound is the whole; definitionally mathlib'sIsLUB(isCover_iff_isLUB), renamed for literature grounding.IsPartition— a cover whose parts are pairwise disjoint. TheSet-valued, possibly-infinite analogue of mathlib'sFinpartition; distinct from theSetoid-basedQuestions.Partition.IsPartition.IsFinCover— finite-cover specialisation viaFinset.sup', bridged to the general notion byisFinCover_iff_isCover.algClosure_of_finCover/exists_finCover_of_algClosure/algClosure_iff_exists_finCover— the equivalence betweenMereology.AlgClosure(the implicit∗-closure) and existence of an explicit finite cover. This is [Cha17]'s Theorem 14 (x ∈ ∗λy[C(y)] ⇔ ∃ cover C′ of x with cells in C), the bridge his stratified-reference ∗-operator rests on.
Implementation notes #
A cover is an EXPLICIT decomposition; AlgClosure is the IMPLICIT
closure. algClosure_iff_exists_finCover makes the two interconvertible
in the finite case. Stratified reference (Semantics/Aspect/Stratified.lean)
uses AlgClosure because the strata are existentially closed; covers are
the right primitive when the parts must be supplied (anaphoric
distributivity, contextually-salient partitions). The closure does not
fix a unique cover — the inductive sum constructor can be applied in
many orders — which is why the forward bridge yields some cover
(∃), not a canonical one.
Cover #
Cover (mereological form): a set of parts whose least upper bound is
the whole. [Sch96b] defines a cover set-theoretically — a
set of nonempty subsets of the whole, with every atom in some cell;
over a join-semilattice that exhaustion condition is IsLUB parts whole (isCover_iff_isLUB), the ⊕C = X form of [Sau03].
Parts may overlap; the "every part ≤ whole" condition is automatic,
since the whole is by definition an upper bound.
Equations
- Semantics.Plurality.Cover.IsCover parts whole = IsLUB parts whole
Instances For
Partition #
[Sch96b] partition: a cover whose parts pairwise don't
overlap — [Hig80]'s original partition-based
distributivity domain, which [Sch96b] generalizes to
arbitrary (possibly overlapping) covers to handle readings like
[Gil87]'s the men wrote musicals. The Set-valued,
possibly-infinite analogue of mathlib's Finpartition; not the
Setoid-based Questions.Partition.IsPartition. Disjointness is
meet-bottom, so the carrier needs Lattice + OrderBot.
Equations
- Semantics.Plurality.Cover.IsPartition parts whole = (Semantics.Plurality.Cover.IsCover parts whole ∧ parts.PairwiseDisjoint id)
Instances For
Finite covers #
Finite cover: the typical linguistic case where the contextually
salient set of parts is enumerable. Formalises [Sau03]'s
cover condition "⊕C = X" with Finset.sup', which avoids the
OrderBot requirement of Finset.sup.
Example: in the shoes cost fifty dollars with the salient cover "by pairs of shoes", the cover is the finite set of pairs.
Equations
- Semantics.Plurality.Cover.IsFinCover parts h whole = (parts.sup' h id = whole)
Instances For
A finite cover is a cover of its underlying set, via isLUB_sup'.
Bridge to Mereology.AlgClosure #
AlgClosure C x (the implicit ∗-closure of C) holds iff x admits an
explicit finite cover whose cells all satisfy C — [Cha17]'s
Theorem 14, the algebraic core of his stratified-reference ∗-operator
(∗P holds of a whole iff some cover has all cells in P). The forward
direction collects the base-leaves of the closure derivation into a
Finset; the reverse is Finset.sup'_induction.
A finite cover whose parts all satisfy P witnesses AlgClosure P whole.
The reverse direction of algClosure_iff_exists_finCover.
Every AlgClosure P witness is covered by an explicit finite cover
whose cells satisfy P: the base-leaves of the closure derivation,
merged along each sum. The forward direction of
algClosure_iff_exists_finCover ([Cha17] Theorem 14).
[Cha17] Theorem 14. AlgClosure P x ⇔ x has an
explicit finite cover with all cells in P. The implicit ∗-closure
and explicit Schwarzschild decomposition coincide in the finite case.