Documentation

Linglib.Core.Scales.MereoDim

Mereology ↔ Scale Bridge #

@cite{champollion-2017} @cite{kennedy-2007} @cite{krifka-1989} @cite{krifka-1998} @cite{rouillard-2026}

Cross-pillar connection between Core/Mereology.lean (CUM/QUA/ExtMeasure) and Core/Scale.lean (ComparativeScale/Boundedness/MIP/degree properties).

The two pillars are independently motivated:

This file bridges them at four levels:

The lax measure square #

The @cite{krifka-1989} linking theory involves two dimension chains:

Events →θ Entities →μ ℚ (object dimension)
Events →τ Times →dur ℚ (temporal dimension)

These form a square that commutes laxly: the two paths Events → ℚ need not agree pointwise, but they are related by a proportionality constant (the "rate" of gradual change). This is captured by MeasureProportional (§9) and LaxMeasureSquare (§10) below. The SINC-specific extension GRADSquare lives in Events/Krifka1998.lean.

QUA predicates correspond to closed/bounded scales.

Krifka: QUA(P) means P-elements have no P-proper-parts, so measurement reaches a definite value at each P-element — the scale has an inherent endpoint. @cite{kennedy-2007}: closed scales license degree modifiers. @cite{rouillard-2026}: closed scales license temporal in-adverbials.

This is the mereological root of the Kennedy–Rouillard isomorphism: QUA → telic → closed → licensed.

Equations
Instances For

    CUM predicates correspond to open/unbounded scales.

    Krifka: CUM(P) means P is closed under ⊔, so measurement can always be extended upward — the scale has no inherent endpoint. @cite{kennedy-2007}: open scales block degree modifiers. @cite{rouillard-2026}: open scales cause information collapse for TIAs.

    This is the mereological root: CUM → atelic → open → blocked.

    Equations
    Instances For

      QUA → licensed: closed scales admit maximally informative elements.

      CUM → blocked: open scales have information collapse.

      An extensive measure induces a Kennedy-style directed measure.

      The measure function μ : α → ℚ from ExtMeasure becomes the measure function of a DirectedMeasure (positive direction), with atLeastDeg as the derived degree property (@cite{kennedy-2007}/2015: "at least n" with type-shift to exact). The boundedness annotation comes from the mereological property of the source predicate: QUA → .closed, CUM → .open_.

      See also extMeasure_rouillard for the @cite{rouillard-2026} direction (negative → atMostDeg).

      Equations
      Instances For

        An extensive measure induces a Rouillard-style directed measure.

        Same measure function, but with negative direction (deriving atMostDeg as the degree property). @cite{rouillard-2026}: E-TIA semantics uses "at most n" for runtime bounds. Boundedness again from the mereological source predicate.

        Equations
        Instances For

          QUA predicates yield licensed Kennedy directed measures.

          CUM predicates yield blocked Kennedy directed measures.

          The Kennedy–Rouillard direction invariance for mereological domains: a QUA-induced directed measure is licensed regardless of whether we use Kennedy's atLeastDeg or Rouillard's atMostDeg.

          Singletons are both QUA (mereologically) and closed (scale-theoretically).

          singleton_qua n proves {x | x = n} is quantized. A singleton set {n} has both a maximum and minimum (namely n itself), so its scale boundedness is .closed.

          This is the base case of the QUA ↔ Boundedness correspondence: the simplest QUA predicate (a singleton) maps to the simplest closed scale (a point). The connection is non-trivial: singleton_qua is proved from lt_irrefl (mereological), while .closed is a scale-theoretic classification — two independent proofs arriving at the same conclusion.

          theorem Mereology.extMeasure_singleton_closed {α : Type u_1} [SemilatticeSup α] {μ : α} [ : ExtMeasure α μ] (n : ) :

          ExtMeasure singletons {x | μ(x) = n} are QUA and correspond to closed scales. Combines extMeasure_qua' (mereological) with the boundedness annotation (scale-theoretic).

          This is the measure-theoretic version of singleton_qua_closed: measuring a QUA predicate by an extensive measure yields a singleton on the scale (exactly one measure value), which is closed.

          theorem Mereology.cum_sum_exceeds {α : Type u_1} [SemilatticeSup α] {μ : α} [ : ExtMeasure α μ] {P : αProp} (hCum : CUM P) {x y : α} (hx : P x) (hy : P y) (h_not_le : ¬x y) :
          P (xy) μ (xy) > μ y

          CUM predicates with incomparable elements can always produce larger measure values via sum.

          If P is CUM and has elements x, y where x ≤ y fails (they are incomparable), then x ⊔ y satisfies P (by CUM) and μ(x ⊔ y) > μ(y) (because y < x ⊔ y and μ is StrictMono).

          This is the structural mechanism behind open/unbounded scales for CUM predicates: given fresh material, CUM can always produce a larger measurement. The incomparability condition is satisfied whenever two P-elements have non-overlapping parts (e.g., two distinct portions of rice, two non-overlapping running events).

          theorem Mereology.cum_sum_exceeds_both {α : Type u_1} [SemilatticeSup α] {μ : α} [ : ExtMeasure α μ] {P : αProp} (hCum : CUM P) {x y : α} (hx : P x) (hy : P y) (hxy : ¬x y) (hyx : ¬y x) :
          P (xy) μ (xy) > μ x μ (xy) > μ y

          CUM predicates with incomparable elements yield measure values strictly exceeding both inputs.

          Symmetric version of cum_sum_exceeds: μ(x ⊔ y) > μ(x) AND μ(x ⊔ y) > μ(y) when x and y are incomparable.

          class Mereology.MereoDim {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] (d : αβ) :

          Morphism class of Mereo^op: the category of partially ordered types with strictly monotone maps. A MereoDim d instance witnesses that d is a mereological dimension — a map along which QUA pulls back.

          Unifies three sources of StrictMono:

          • ExtMeasure (via extMeasure_strictMono)
          • IsSumHom + Injective (via strictMono_of_injective)
          • Compositions of the above (Krifka dimension chains)
          • toStrictMono : StrictMono d

            The underlying strict monotonicity proof.

          Instances
            instance Mereology.instMereoDimOfExtMeasure {α : Type u_1} [SemilatticeSup α] {μ : α} [ : ExtMeasure α μ] :

            Any ExtMeasure is automatically a MereoDim: extensive measures are strictly monotone by extMeasure_strictMono.

            def Mereology.MereoDim.ofInjSumHom {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] {f : αβ} [hf : IsSumHom f] (hinj : Function.Injective f) :

            An injective sum homomorphism is a MereoDim. Not an instance because Function.Injective is not inferrable by typeclass search.

            Equations
            • =
            Instances For
              theorem Mereology.MereoDim.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [PartialOrder α] [PartialOrder β] [PartialOrder γ] {f : βγ} {g : αβ} (hf : MereoDim f) (hg : MereoDim g) :

              Composition of MereoDim morphisms. Captures Krifka's dimension chains: Events →θ Entities →μ ℚ gives MereoDim (μ ∘ θ) when both components are MereoDim.

              Stated as a theorem (not an instance) to avoid typeclass inference loops from decomposing arbitrary composed functions.

              theorem Mereology.qua_pullback_mereoDim {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {d : αβ} [hd : MereoDim d] {P : βProp} (hP : QUA P) :
              QUA (P d)

              QUA pullback via MereoDim: typeclass-dispatched version of qua_pullback. When [MereoDim d] is available (automatically for any ExtMeasure), QUA pulls back without manual StrictMono threading.

              theorem Mereology.qua_pullback_mereoDim_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [PartialOrder α] [PartialOrder β] [PartialOrder γ] {d₁ : αβ} {d₂ : βγ} (hd₁ : MereoDim d₁) (hd₂ : MereoDim d₂) {P : γProp} (hP : QUA P) :
              QUA (P d₂ d₁)

              QUA pullback along a composed dimension chain. Given two MereoDim morphisms d₁ : α → β and d₂ : β → γ, QUA on γ pulls back to QUA on α through the chain d₂ ∘ d₁.

              structure Mereology.MeasureProportional {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] (R : αβProp) (μ₁ : α) (μ₂ : β) :

              Measure proportionality: two measure functions are proportional on pairs related by a relation R. For any R-pair (x,e), μ₂(e) = rate * μ₁(x) for some positive constant rate.

              This captures the idealized "constant rate" linking two dimensions: measuring x is proportional to measuring e whenever R relates them. For instance, in @cite{krifka-1989}'s telicity theory, eating twice as much food takes twice as long, so the object measure and event duration are proportional on θ-related pairs.

              • rate :

                The proportionality constant (rate).

              • rate_pos : 0 < self.rate

                The rate is positive.

              • proportional (x : α) (e : β) : R x eμ₂ e = self.rate * μ₁ x

                For any R-pair, μ₂(e) = rate × μ₁(x).

              Instances For
                structure Mereology.LaxMeasureSquare {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeSup α] [SemilatticeSup γ] (R : αγProp) (μ₁ : α) (f : γβ) (μ₂ : β) :

                A lax commutative square of mereological dimensions:

                α →R γ →f β →μ₂ ℚ (composed path: μ₂ ∘ f)
                α →──── μ₁ ────→ ℚ (direct path)
                

                The two paths α → ℚ commute laxly: they don't agree pointwise, but are proportional on R-related pairs (via MeasureProportional). Both paths are required to be extensive measures (ExtMeasure), making them MereoDim morphisms that support QUA pullback.

                This is the general mereological square; GRADSquare in Krifka1998 extends it with strict incrementality (SINC) to derive GRAD.

                • laxComm : MeasureProportional R μ₁ (μ₂ f)

                  Lax commutativity: μ₂(f(e)) = rate * μ₁(x) for R-pairs.

                • ext₁ : ExtMeasure α μ₁

                  First arm is an extensive measure.

                • ext₂ : ExtMeasure γ (μ₂ f)

                  Second arm (composed path) is an extensive measure.

                Instances For
                  theorem Mereology.LaxMeasureSquare.laxCommutativity {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeSup α] [SemilatticeSup γ] {R : αγProp} {μ₁ : α} {f : γβ} {μ₂ : β} (sq : LaxMeasureSquare R μ₁ f μ₂) {x : α} {e : γ} (hR : R x e) :
                  μ₂ (f e) = sq.laxComm.rate * μ₁ x

                  The defining equation of the lax measure square: for any R-pair (x,e), μ₂(f(e)) = rate * μ₁(x).

                  theorem Mereology.LaxMeasureSquare.mereoDim₁ {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeSup α] [SemilatticeSup γ] {R : αγProp} {μ₁ : α} {f : γβ} {μ₂ : β} (sq : LaxMeasureSquare R μ₁ f μ₂) :
                  MereoDim μ₁

                  The first arm (direct path) is a MereoDim (via ExtMeasure).

                  theorem Mereology.LaxMeasureSquare.mereoDim₂ {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeSup α] [SemilatticeSup γ] {R : αγProp} {μ₁ : α} {f : γβ} {μ₂ : β} (sq : LaxMeasureSquare R μ₁ f μ₂) :
                  MereoDim (μ₂ f)

                  The second arm (composed path) is a MereoDim (via ExtMeasure).

                  theorem Mereology.LaxMeasureSquare.qua_pullback₂ {α : Type u_1} {β : Type u_2} {γ : Type u_3} [SemilatticeSup α] [SemilatticeSup γ] {R : αγProp} {μ₁ : α} {f : γβ} {μ₂ : β} (sq : LaxMeasureSquare R μ₁ f μ₂) {P : Prop} (hP : QUA P) :
                  QUA (P μ₂ f)

                  QUA pullback through the composed path: QUA on ℚ pulls back to QUA on γ via the composed measure μ₂ ∘ f.

                  The categorical connection #

                  MereoDim is a strengthened morphism: it requires StrictMono (injective monotone map between partial orders), while the categorical morphism of comparative scales is Monotone (between preorders).

                  MonotoneMereoDim = injective Monotone (on partial orders)
                  

                  The bridge theorems below make this precise:

                  1. Every MereoDim is Monotone (mereoDim_monotone)
                  2. Every ExtMeasure μ gives Monotone μ (extMeasure_monotone)
                  3. IsSumHom f → Monotone f (IsSumHom.monotone, already in Mereology.lean)

                  The forgetful functor from AdditiveScale morphisms (IsSumHom) to ComparativeScale morphisms (Monotone) is just IsSumHom.monotone.

                  Together with the boundedness annotations (§1: QUA → .closed, CUM → .open_) and the DirectedMeasure constructors (§2), the entire mereological pipeline factors through ComparativeScale:

                    (α, ≤) ——MereoDim d——→ (β, ≤) ——ExtMeasure μ——→ (ℚ, ≤)
                       ↓ ↓ ↓
                  ComparativeScale b₁ ComparativeScale b₂ ComparativeScale.closed
                       └─────── Monotone ───────┘ │
                                  └──────────── Monotone ──────────────────┘
                  
                  theorem Mereology.mereoDim_monotone {α : Type u_1} {β : Type u_2} [PartialOrder α] [PartialOrder β] {d : αβ} (hd : MereoDim d) :

                  Every MereoDim d is Monotone: the forgetful map from the category of partial orders with strict monotone maps to the category of preorders with monotone maps.

                  theorem Mereology.extMeasure_monotone {α : Type u_1} [SemilatticeSup α] {μ : α} ( : ExtMeasure α μ) :

                  Every ExtMeasure μ gives a monotone map to (ℚ, ≤).

                  Boundedness coherence: the mereological classification (QUA → .closed, CUM → .open_) is definitional — ComparativeScale is now just a boundedness tag on an ambient preorder, so the classification is stored directly as the boundedness field.

                  structure Mereology.DimensionChain {Source : Type u_1} {Inter : Type u_2} {Measure : Type u_3} [PartialOrder Source] [PartialOrder Inter] [PartialOrder Measure] (f : SourceInter) (μ : InterMeasure) :

                  A mereological dimension chain: a two-leg pipeline Source →f Inter →μ Measure where both legs are MereoDim. The three canonical instances:

                  • Temporal: Events →τ Intervals →dur ℚ
                  • Spatial: Events →σ Paths →dist ℚ
                  • Object: Events →θ Entities →μ ℚ
                  Instances For
                    def Mereology.DimensionChain.composed {Source : Type u_1} {Inter : Type u_2} {Measure : Type u_3} [PartialOrder Source] [PartialOrder Inter] [PartialOrder Measure] {f : SourceInter} {μ : InterMeasure} (dc : DimensionChain f μ) :
                    MereoDim (μ f)

                    The composed map is a MereoDim.

                    Equations
                    • =
                    Instances For
                      theorem Mereology.DimensionChain.qua_transfer {Source : Type u_1} {Inter : Type u_2} {Measure : Type u_3} [PartialOrder Source] [PartialOrder Inter] [PartialOrder Measure] {f : SourceInter} {μ : InterMeasure} (dc : DimensionChain f μ) {P : MeasureProp} (hP : QUA P) :
                      QUA (P μ f)

                      QUA on Measure pulls back to QUA on Source through the full chain.

                      theorem Mereology.DimensionChain.qua_transfer_leg₁ {Source : Type u_1} {Inter : Type u_2} {Measure : Type u_3} [PartialOrder Source] [PartialOrder Inter] [PartialOrder Measure] {f : SourceInter} {μ : InterMeasure} (dc : DimensionChain f μ) {P : InterProp} (hP : QUA P) :
                      QUA (P f)

                      QUA on Inter pulls back to QUA on Source through the first leg.

                      theorem Mereology.DimensionChain.qua_transfer_leg₂ {Source : Type u_1} {Inter : Type u_2} {Measure : Type u_3} [PartialOrder Source] [PartialOrder Inter] [PartialOrder Measure] {f : SourceInter} {μ : InterMeasure} (dc : DimensionChain f μ) {P : MeasureProp} (hP : QUA P) :
                      QUA (P μ)

                      QUA on Measure pulls back to QUA on Inter through the second leg.

                      theorem Mereology.cum_exceeds_source {α : Type u_1} [SemilatticeSup α] {μ : α} [ : ExtMeasure α μ] {P : αProp} (hCum : CUM P) {x y : α} (hx : P x) (hy : P y) (hyx : ¬y x) :
                      P (xy) μ (xy) > μ x

                      CUM + fresh incomparable element → exists P-element with strictly larger measure. The structural content of "CUM → open scale."

                      Given P(x) and fresh y with P(y) and ¬ y ≤ x, then x ⊔ y satisfies P (by CUM) and μ(x ⊔ y) > μ(x) (by StrictMono, since x < x ⊔ y).

                      theorem Mereology.cum_measure_unbounded {α : Type u_1} [SemilatticeSup α] {μ : α} [ : ExtMeasure α μ] {P : αProp} (hCum : CUM P) {δ : } ( : 0 < δ) (hSupply : ∀ (x : α), P x∃ (y : α), P y ¬Overlap x y δ μ y) (x₀ : α) (hx₀ : P x₀) (M : ) :
                      ∃ (z : α), P z μ z > M

                      CUM + disjoint fresh supply with minimum measure → measurement unbounded.

                      If P is CUM and for every P-element x there exists a disjoint P-element y with μ(y) ≥ δ > 0, then P-elements achieve arbitrarily large measure. This is the structural content of information collapse: CUM predicates with enough disjoint material have no inherent measurement ceiling.

                      The hypothesis requires ¬ Overlap x y (not merely ¬ y ≤ x) because overlap allows the increment μ(x ⊔ y) - μ(x) to shrink to zero, making the series of increments convergent. With ¬ Overlap, additivity gives μ(x ⊔ y) = μ(x) + μ(y) ≥ μ(x) + δ, guaranteeing linear growth.

                      The proof iterates k disjoint extensions from x₀, each adding at least δ to the measure. By the Archimedean property of ℚ, choosing k > (M - μ(x₀)) / δ suffices.

                      theorem Mereology.sumHom_qua_pullback_pattern {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] {f : αβ} [hf : IsSumHom f] (hinj : Function.Injective f) {P : βProp} (hP : QUA P) :
                      QUA (P f)

                      The three dimension chains all instantiate the same pattern: IsSumHom + Injective → MereoDim → QUA pullback. This theorem states the pattern for any sum homomorphism.

                      theorem Mereology.sumHom_cum_pullback_pattern {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] {f : αβ} [hf : IsSumHom f] {P : βProp} (hP : CUM P) :
                      CUM (P f)

                      CUM always pulls back through any sum homomorphism (no injectivity needed). All three dimension chains preserve atelicity/cumulativity.

                      Krifka: QUA → closed → licensed.

                      Krifka: CUM → open → blocked.