Documentation

Linglib.Core.Logic.Intensional.Lumping

Lumping #

@cite{kratzer-1989}, @cite{kratzer-2012}

Kratzer's situation-semantic notion of lumping: a proposition p lumps a proposition q in a world w when truth of p at every part of w forces truth of q there. Lumping is the technical glue Kratzer uses to repair the premise-semantic account of counterfactuals — when an antecedent is added to a Base Set, every proposition lumped by the antecedent in the evaluation world comes along, blocking the spurious counterfactuals that arise when independent true propositions are added freely (the Paula-paints-a-still-life and zebra-escapes examples in @cite{kratzer-2012}, §5.4.1).

This module sits on top of Core.Logic.Intensional.Situations, which provides the SituationFrame carrier — a Frame whose Index carries a partial order representing parthood. Propositions are Set F.Index; the order grounds both lumping and persistence (= mathlib's Monotone, aliased as Persistent in Situations.lean).

Scope #

This file covers @cite{kratzer-2012} §5.3.3 (p. 118): the worlds-only logical relations (validity, consistency, compatibility, logical consequence, logical equivalence) and the official lumping definition that closes the section. The counterfactual machinery of §5.4 — base sets, the truth conditions for would/might-counterfactuals, and the formal definitions in §5.4.4 — is out of scope here.

Architectural notes #

Lumping (@cite{kratzer-2012} §5.3.3, p. 118) #

The official text of @cite{kratzer-2012}, p. 118:

For all propositions p, q ∈ P(S) and all w ∈ W: p lumps q in w iff (i) w ∈ p. (ii) For all s ∈ S, if s ≤ w and s ∈ p, then s ∈ q.

The same definition appears informally on p. 114, where footnote 4 credits condition (ii) to Yablo's "local implication".

structure Core.Logic.Intensional.Lumping.Lumps {S : Type u_1} [Preorder S] (p q : Set S) (w : S) :

Lumps: p lumps q at w iff (i) p is true at w, and (ii) every part of w at which p is true is also a part at which q is true.

Generalized from @cite{kratzer-2012}'s situation-frame setting to any preordered carrier S; the parthood preorder is the only piece of structure the definition uses.

  • holds : w p

    p is true at w (@cite{kratzer-2012}, p. 118, condition (i)).

  • localImpl s : S : s ws ps q

    Every part of w at which p is true also has q true (@cite{kratzer-2012}, p. 118, condition (ii); = Yablo's "local implication", noted in footnote 4 of @cite{kratzer-2012}, p. 114).

Instances For
    theorem Core.Logic.Intensional.Lumping.Lumps.holds_target {S : Type u_1} [Preorder S] {p q : Set S} {w : S} (h : Lumps p q w) :
    w q

    Setting s = w in the local-implication conjunct: q is true at w whenever p lumps q there.

    theorem Core.Logic.Intensional.Lumping.Lumps.refl_of_holds {S : Type u_1} [Preorder S] {p : Set S} {w : S} (hp : w p) :
    Lumps p p w

    A true proposition lumps itself (reflexivity, conditional on truth).

    theorem Core.Logic.Intensional.Lumping.Lumps.trans {S : Type u_1} [Preorder S] {p q r : Set S} {w : S} (hpq : Lumps p q w) (hqr : Lumps q r w) :
    Lumps p r w

    Lumping composes.

    theorem Core.Logic.Intensional.Lumping.Lumps.inter {S : Type u_1} [Preorder S] {p q r : Set S} {w : S} (hq : Lumps p q w) (hr : Lumps p r w) :
    Lumps p (q r) w

    If p lumps both q and r at w, it lumps their intersection.

    theorem Core.Logic.Intensional.Lumping.Lumps.mono_left {S : Type u_1} [Preorder S] {p q : Set S} {w : S} {p' : Set S} (hp' : p' p) (hp'w : w p') (h : Lumps p q w) :
    Lumps p' q w

    Strengthening the lumping proposition: a pointwise stronger p' (true at w) inherits everything p lumps.

    theorem Core.Logic.Intensional.Lumping.Lumps.mono_right {S : Type u_1} [Preorder S] {p q : Set S} {w : S} {q' : Set S} (hq' : q q') (h : Lumps p q w) :
    Lumps p q' w

    Weakening the lumped proposition: pointwise entailment lifts.

    theorem Core.Logic.Intensional.Lumping.Lumps.of_local_universal {S : Type u_1} [Preorder S] {p q : Set S} {w : S} (hp : w p) (hq : ∀ ⦃s : S⦄, s ws q) :
    Lumps p q w

    A proposition true at every part of w is lumped by every proposition true at w. (Strictly weaker hypothesis than "true everywhere": only the parts of w matter.)

    Logical relations (@cite{kratzer-2012} §5.3.3, p. 118) #

    These quantify only over F.Worlds (maximal situations) and so remain "classical" — equivalent to their possible-worlds counterparts on the worlds part of F.Index. We follow Kratzer's set-theoretic notation verbatim.

    Validity (@cite{kratzer-2012}, p. 118): every world satisfies p. Kratzer writes this as p ∩ W = W; equivalently F.Worlds ⊆ p.

    Equations
    Instances For
      def Core.Logic.Intensional.Lumping.Follows {F : SituationFrame} (A : Set (Set F.Index)) (q : Set F.Index) :

      Logical consequence (@cite{kratzer-2012}, p. 118): every world that satisfies all of A also satisfies q. Kratzer's text: "for all w ∈ W: if w ∈ ⋂A, then w ∈ q."

      Equations
      Instances For

        Consistency (@cite{kratzer-2012}, p. 118): some world satisfies every member of A.

        Equations
        Instances For

          Compatibility (@cite{kratzer-2012}, p. 118): p is compatible with A iff A ∪ {p} is consistent.

          Equations
          Instances For

            Logical equivalence (@cite{kratzer-2012}, p. 118): p and q agree on the worlds part. Kratzer writes p ∩ W = q ∩ W.

            Renamed from Kratzer's "logical equivalence" to LogEquiv to avoid collision with mathlib's Equiv (type equivalences).

            Equations
            Instances For

              Characterizations #

              theorem Core.Logic.Intensional.Lumping.Follows.of_mem {F : SituationFrame} {A : Set (Set F.Index)} {p : Set F.Index} (hp : p A) :

              A premise in a set is a logical consequence of the set.

              Validity is logical consequence from no premises.

              Consistency of A is the negation of "false follows from A".

              @[simp]

              Compatibility unfolds to consistency of the augmented set (definitional; this lemma exists for simp-style rewriting).

              Bridge: lumping and logical consequence #

              If p lumps q at every world satisfying p, then q follows logically from p. This is the cleanest connection between the order-theoretic core (Lumps) and the worlds-restricted relations (Follows).

              theorem Core.Logic.Intensional.Lumping.Lumps.follows_singleton {F : SituationFrame} {p q : Set F.Index} (h : wF.Worlds, w pLumps p q w) :
              Follows {p} q

              Worlds-restricted lumping entails logical consequence from the singleton premise set. The hypothesis is Kratzer 2012's standard "for all w ∈ W" pattern: at every world where p holds, p lumps q there, so q holds at that world.

              Possible-worlds reduction #

              In a discrete situation frame (a Frame promoted via Frame.toDiscreteSituationFrame), parthood reduces to equality. The local-implication conjunct then collapses, and lumping at any index w becomes joint truth at w — a degenerate notion. This is the formal sense in which possible-worlds semantics flattens the distinctions Kratzer's lumping is designed to capture.

              @[implicit_reducible]

              Bring the discrete partial order on G.Index into scope so the corollary below can quote Lumps without explicit @-application.

              Equations
              Instances For
                theorem Core.Logic.Intensional.Lumping.Lumps.discrete_iff (G : Frame) (p q : Set G.Index) (w : G.Index) :
                Lumps p q w w p w q

                Lumping in a discrete frame collapses to joint truth at the index.