Documentation

Linglib.Theories.Semantics.Composition.TypeShifting

NP Type-Shifting Principles #

@cite{partee-1987}

Three NP semantic types and six type-shifting operations (three inverse pairs):

lift  / lower : e ↔ ⟨⟨e,t⟩,t⟩         (total / partial)
ident / iota  : e ↔ ⟨e,t⟩              (formal; total / partial)
pred  / nom   : e ↔ ⟨e,t⟩              (substantive; Chierchia's ∪/∩)
      A / BE  : ⟨e,t⟩ ↔ ⟨⟨e,t⟩,t⟩     (total / total)
    THE       : ⟨e,t⟩ → ⟨⟨e,t⟩,t⟩     (partial; presuppositional)

In the finite extensional setting, pred = ident and nom = iota. The conceptual difference: ident/iota are formal (pure combinatorics), while pred/nom are substantive (depend on entity-property correspondence). The intensional generalizations are Chierchia's ∪ (up) and ∩ (down) operators in Semantics.Lexical.Noun.Kind.Chierchia1998.

Singleton property: ident(j) = λx. [j = x]. Uses j = x order for definitional equality with BE(lift(j)).

Equations
Instances For

    Predicative content of a GQ: BE(Q) = λx. Q(λy. y = x)

    Equations
    Instances For
      @[reducible, inline]

      Predicativize: extensional counterpart of Chierchia's ∪ (up) operator.

      In the finite extensional setting, pred coincides with ident: both map an entity to its singleton property λx. [j = x].

      Conceptually distinct (@cite{partee-1987} Figure 1):

      • ident is formal — pure combinatorics, always defined.
      • pred is substantive — applies to entity-correlates of properties and returns the corresponding property.

      The intensional generalization is Semantics.Lexical.Noun.Kind.Chierchia1998.up.

      Equations
      Instances For

        BE is a BoundedLatticeHom (Partee §3.3, Fact 1).

        Equations
        Instances For

          Fact 2 (@cite{partee-1987} §3.3): BE is the unique BoundedLatticeHom from ⟨⟨e,t⟩,t⟩ to ⟨e,t⟩ that makes Figure 3 commute (i.e., satisfies f(lift(j)) = ident(j)).

          Proof (@cite{keenan-faltz-1985}): For each entity x, construct the atom atom_x = ⨅_j literal(j) where literal(j) = lift(j) if j = x and (lift(j))ᶜ otherwise. This atom is the indicator of {P_x} where P_x = λy. [y = x]. Since f preserves and complements, f maps atom_x correctly. Then monotonicity determines f(Q)(x) for arbitrary Q by cases on Q(P_x).

          theorem Semantics.Composition.TypeShifting.BE_conj {m : Montague.Model} (Q₁ Q₂ : m.interpTy Montague.Ty.ett) :
          (BE fun (P : m.interpTy (Montague.Ty.e Montague.Ty.t)) => Q₁ P && Q₂ P) = fun (x : m.interpTy Montague.Ty.e) => BE Q₁ x && BE Q₂ x

          BE(Q₁ ∧ Q₂) = BE(Q₁) ∧ BE(Q₂)

          theorem Semantics.Composition.TypeShifting.BE_disj {m : Montague.Model} (Q₁ Q₂ : m.interpTy Montague.Ty.ett) :
          (BE fun (P : m.interpTy (Montague.Ty.e Montague.Ty.t)) => Q₁ P || Q₂ P) = fun (x : m.interpTy Montague.Ty.e) => BE Q₁ x || BE Q₂ x

          BE(Q₁ ∨ Q₂) = BE(Q₁) ∨ BE(Q₂)

          Partial inverse of lift. Defined when Q is a principal ultrafilter.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Partial inverse of ident. Returns the unique satisfier of P.

            Equations
            Instances For

              NOM: Nominalization (@cite{partee-1987} Figure 1, @cite{chierchia-1984}). Maps a property to its individual correlate: ⟨e,t⟩ → e (partial).

              In the finite extensional setting, NOM = iota (returns the unique satisfier of P, if singleton). The intensional generalization is Semantics.Lexical.Noun.Kind.Chierchia1998.down (Chierchia's ∩).

              Equations
              Instances For

                Existential closure: A(P) = λQ. ∃x. P(x) ∧ Q(x)

                Equations
                Instances For

                  THE: Presuppositional type-shifter for definites (@cite{partee-1987} Figure 1). THE(P) = lift(iota(P)) when iota(P) is defined (P has a unique satisfier).

                  Maps ⟨e,t⟩ → ⟨⟨e,t⟩,t⟩ (partial). Unlike A (which is total), THE presupposes existence and uniqueness. Connects to the semantics of "the" in Semantics.Lexical.Determiner.Definite.

                  Equations
                  Instances For
                    theorem Semantics.Composition.TypeShifting.lower_lift {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hmem : j domain) (hnd : domain.Nodup) :
                    lower domain (lift j) = some j

                    lowerlift = some on the domain (Partee's round-trip).

                    Requires j ∈ domain (j must be in the model) and domain.Nodup (no duplicates, ensuring unique filter result).

                    theorem Semantics.Composition.TypeShifting.iota_ident {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hmem : j domain) (hnd : domain.Nodup) :
                    iota domain (ident j) = some j

                    iotaident = some on the domain (Partee's round-trip).

                    The ident predicate picks out exactly j, so iota returns j when j is the unique satisfier (guaranteed by Nodup).

                    theorem Semantics.Composition.TypeShifting.THE_ident {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hmem : j domain) (hnd : domain.Nodup) :
                    THE domain (ident j) = some (lift j)

                    THEident = some ∘ lift on the domain. When ident(j) has a unique satisfier (always, given Nodup), THE shifts it to the corresponding principal ultrafilter.

                    Coherence of the three readings of "the king" (@cite{partee-1987} §3.2). When iota succeeds, the e, ⟨e,t⟩, and ⟨⟨e,t⟩,t⟩ readings are related by BE(lift(j)) = ident(j) (Figure 2 commutativity).

                    Truth-Conditional Transparency of Type-Shifts #

                    A type-shift is truth-conditionally transparent when the shifted meaning produces the same sentential truth value as the original. The precise condition:

                    Theorem: For a GQ Q : ⟨⟨α,t⟩,t⟩, the round-trip A(BE(Q)) preserves truth conditions iff Q is a principal ultrafilter (i.e., Q = lift(j) for some individual j).

                    For non-principal GQs (quantifiers, degree quantifiers like numerals), A(BE(Q)) yields a strictly weaker meaning. This is precisely when the RSA model should include both the original and shifted meanings as alternative interpretations.

                    Applications:

                    A GQ is a principal ultrafilter iff it equals lift(j) for some entity.

                    Equations
                    Instances For

                      Round-trip preservation for principal ultrafilters. For Q = lift(j), A(BE(Q))(P) = Q(P) for all P. This means type-shifting is truth-conditionally transparent for proper names, pronouns, definites — any expression that denotes a principal ultrafilter.

                      theorem Semantics.Composition.TypeShifting.BE_A_id {m : Montague.Model} (domain : List m.Entity) (P : m.interpTy Montague.Ty.et) (hcomplete : ∀ (x : m.Entity), x domain) :
                      BE (A domain P) = P

                      BEA = id on properties (@cite{partee-1987} §3.3).

                      For any property P, BE(A(P)) = P. This makes A a right inverse of BE: existential closure followed by predicative content recovers the original property.

                      This is the key result establishing A as a "natural" type-shifting functor — it is an inverse of BE, and Partee argues it (together with some) is the most natural DET-type functor.

                      Proof: BE(A(P))(x) = A(P)(λy. y=x) = ∃z∈dom. P(z) ∧ (z=x) = P(x). The decide(z=x) selects exactly z = x, collapsing the existential.

                      For non-principal GQs, the round-trip changes truth conditions. every(⊤) = true but A(BE(every))(⊤) = false — the round-trip collapses universal quantification to on multi-element domains. (BE(every) asks "which entity equals all entities?" — none do.)

                      The Full Commutativity Diagram #

                      Partee's type-shifting triangle connects three NP semantic types via six operations (three inverse pairs). The triangle commutes: any two paths between the same pair of types yield the same result.

                                 e
                                ╱ ╲
                          ident╱   ╲lift
                              ╱     ╲
                             ↓       ↓
                          ⟨e,t⟩ ⇄ ⟨⟨e,t⟩,t⟩
                              A →
                             ← BE
                      

                      Commutativity (two faces):

                      Retraction: BEA = id on ⟨e,t⟩ (BE_A_id) — A is a section of BE.

                      Consequence: All composite paths agree. The triangle is a commutative diagram in Set, with A and BE witnessing that the two embeddings ident : e → ⟨e,t⟩ and lift : e → ⟨⟨e,t⟩,t⟩ are "the same map" up to the A/BE retraction on their codomains.

                      theorem Semantics.Composition.TypeShifting.A_ident_eq_lift {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hj : j domain) :
                      A domain (ident j) = lift j

                      Left face of the triangle: Aident = lift.

                      A(ident(j))(P) = ∃x∈dom. [j=x] ∧ P(x) = P(j) = lift(j)(P).

                      Together with BE_lift_eq_ident (right face), this establishes full commutativity of the type-shifting triangle.

                      theorem Semantics.Composition.TypeShifting.A_BE_lift {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hj : j domain) :
                      A domain (BE (lift j)) = lift j

                      Full cycle e →lift ⟨⟨e,t⟩,t⟩ →BE ⟨e,t⟩ →A ⟨⟨e,t⟩,t⟩ = lift.

                      Going around the triangle through GQ-space returns to the same GQ.

                      theorem Semantics.Composition.TypeShifting.BE_A_ident {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hcomplete : ∀ (x : m.Entity), x domain) :
                      BE (A domain (ident j)) = ident j

                      Full cycle e →ident ⟨e,t⟩ →A ⟨⟨e,t⟩,t⟩ →BE ⟨e,t⟩ = ident.

                      Going around the triangle through predicate-space returns to the same predicate.

                      theorem Semantics.Composition.TypeShifting.iota_BE_lift {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hmem : j domain) (hnd : domain.Nodup) :
                      iota domain (BE (lift j)) = some j

                      Partial path e →lift ⟨⟨e,t⟩,t⟩ →BE ⟨e,t⟩ →iota e = some.

                      The indirect route through GQ-space recovers the entity.

                      theorem Semantics.Composition.TypeShifting.lower_A_ident {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hmem : j domain) (hnd : domain.Nodup) :
                      lower domain (A domain (ident j)) = some j

                      Partial path e →ident ⟨e,t⟩ →A ⟨⟨e,t⟩,t⟩ →lower e = some.

                      The indirect route through predicate-space recovers the entity.

                      theorem Semantics.Composition.TypeShifting.THE_BE_lift {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hmem : j domain) (hnd : domain.Nodup) :
                      THE domain (BE (lift j)) = some (lift j)

                      THE respects the triangle: THEBElift = some ∘ lift.

                      Recovering the definite description from a type-raised proper name via BE, then THE, yields the original type-raised individual.

                      theorem Semantics.Composition.TypeShifting.BE_leftInverse_A {m : Montague.Model} (domain : List m.Entity) (hcomplete : ∀ (x : m.Entity), x domain) :

                      BE is a left inverse of A: the section/retraction structure of the type-shifting triangle, expressed using Function.LeftInverse.

                      This connects to Mathlib's function infrastructure, giving us Surjective BE and Injective (A domain) for free.

                      theorem Semantics.Composition.TypeShifting.BE_surjective {m : Montague.Model} (domain : List m.Entity) (hcomplete : ∀ (x : m.Entity), x domain) :

                      BE is surjective: every predicate is the predicative content of some GQ. Derived from Function.LeftInverse.surjective.

                      theorem Semantics.Composition.TypeShifting.A_injective {m : Montague.Model} (domain : List m.Entity) (hcomplete : ∀ (x : m.Entity), x domain) :

                      A is injective: distinct predicates yield distinct GQs under existential closure. Linguistically: different common nouns mean different things as indefinites. Derived from Function.LeftInverse.injective.

                      The A/BE Adjunction on Monotone GQs #

                      @cite{barwise-cooper-1981} observed that natural language determiners denote upward-closed (monotone) generalized quantifiers: if Q(P) and P ⊆ P', then Q(P'). This constraint is exactly what makes A and BE form a GaloisCoinsertion — an adjunction where the upper adjoint (BE) retracts the lower adjoint (A).

                      On the full Boolean algebra of all GQs, ABE fails: for non-monotone Q (e.g., λR. ¬R(a)), A(BE(Q)) ≤ Q does not hold. But restricted to the sublattice of monotone GQs, the key inequality A(BE(Q)) ≤ Q holds because singleton predicates {x} ≤ R whenever R(x), and monotonicity of Q lifts this to Q({x}) ≤ Q(R).

                      The GaloisCoinsertion gives us, via Mathlib:

                      Upward-closed (monotone) generalized quantifiers — the @cite{barwise-cooper-1981} constraint on natural language determiners.

                      Q is upward-closed when Q(P) and P ≤ P' imply Q(P'). Equivalently, Monotone Q in the pointwise order on ⟨e,t⟩.

                      Equations
                      Instances For

                        A(P) is always upward-closed: if ∃x∈dom with P(x) ∧ R(x), and R ≤ R', then ∃x∈dom with P(x) ∧ R'(x).

                        A is monotone as a map from predicates to GQs.

                        Key inequality: A(BE(Q)) ≤ Q for upward-closed Q.

                        A(BE(Q))(R) = ∃x∈dom. Q({x}) ∧ R(x). When R(x) holds, {x} ≤ R in the pointwise order. By monotonicity of Q, Q({x}) ≤ Q(R), establishing the inequality.

                        This is precisely the condition that fails for non-monotone Q (e.g., Q = λR. ¬R(a) where Q({a}) = false but Q(∅) = true).

                        def Semantics.Composition.TypeShifting.galoisCoinsertion {m : Montague.Model} (domain : List m.Entity) (hcomplete : ∀ (x : m.Entity), x domain) :

                        Galois coinsertion: A (existential closure) and BE (predicative content) form a GaloisCoinsertion on the sublattice of upward-closed GQs.

                        This is the order-theoretic content of Partee's type-shifting triangle:

                        • BEA = id on predicates (the retraction)
                        • A(BE(Q)) ≤ Q for monotone Q (the counit inequality)

                        Linguistically: @cite{barwise-cooper-1981}'s constraint that natural language determiners denote monotone GQs is exactly the condition under which the A/BE pair forms an adjunction.

                        Equations
                        Instances For
                          theorem Semantics.Composition.TypeShifting.gc_A_BE {m : Montague.Model} (domain : List m.Entity) (hcomplete : ∀ (x : m.Entity), x domain) :

                          The Galois connection: A(P) ≤ Q ↔ P ≤ BE(Q) for monotone Q.

                          CARD: number → cardinality predicate (@cite{snyder-2026}, (6a)). CARD = λn.λx. μ(x) = n. Turns a number into a predicate on entities that have exactly n atomic parts.

                          Equations
                          Instances For

                            PM: Predicate Modification (@cite{heim-kratzer-1998}, (7a)). PM = λP.λQ.λx. P(x) ∧ Q(x). Intersective modifier.

                            Equations
                            Instances For
                              theorem Semantics.Composition.TypeShifting.NOM_pred {m : Montague.Model} (domain : List m.Entity) (j : m.interpTy Montague.Ty.e) (hmem : j domain) (hnd : domain.Nodup) :
                              NOM domain (pred j) = some j

                              NOM(pred(j)) = some j: nominalizing the predicativization of an entity returns that entity. The extensional counterpart of Chierchia's ∩(∪k) = k (Semantics.Lexical.Noun.Kind.Chierchia1998.down_up_id).