Documentation

Linglib.Semantics.Kinds.NominalMappingParameter

@[reducible, inline]
abbrev Semantics.Kinds.NMP.Individual (Atom : Type u_1) :
Type u_1

An individual is a non-empty set of atoms. Atoms are singletons {a}, pluralities are larger sets. The part-of relation (⊆) and join (∪) are inherited from Mathlib's Set instances, giving us Link's complete atomic join semilattice.

Equations
Instances For
    def Semantics.Kinds.NMP.Individual.atom {Atom : Type u_1} (a : Atom) :

    Construct a singular individual from an atom.

    Equations
    Instances For
      @[reducible, inline]
      abbrev Semantics.Kinds.NMP.Property (World : Type u_1) (Atom : Type u_2) :
      Type (max u_1 u_2)

      A property (intension): function from worlds to sets of individuals. This is Intensional.Intension World (Set (Individual Atom)).

      Equations
      Instances For
        @[reducible, inline]
        abbrev Semantics.Kinds.NMP.IndividualConcept (World : Type u_1) (Atom : Type u_2) :
        Type (max u_1 u_2)

        An individual concept: function from worlds to individuals. This is Intensional.Intension World (Individual Atom).

        Equations
        Instances For
          structure Semantics.Kinds.NMP.Kind (World : Type u_1) (Atom : Type u_2) :
          Type (max u_1 u_2)

          Kinds are a special subset of individual concepts.

          A kind is an individual concept that maps each world to the totality of instances (a set of atoms) and represents a "natural" class with regular behavior.

          Not every individual concept is a kind. Only those corresponding to natural properties qualify.

          Instances For
            def Semantics.Kinds.NMP.down (World : Type u_1) (Atom : Type u_2) (P : Property World Atom) :
            Kind World Atom

            The "down" operator ∩ (cap): nominalize a property to a kind.

            ∩P = λs. ιPₛ

            That is, at each world s, take the largest individual in the extension of P. For plural/mass properties, this is the fusion of all instances.

            Note: ∩ is only semantically defined for plural/mass nouns (see downDefinedFor). This function computes the nominalization for any property; the partiality constraint is enforced externally.

            Equations
            Instances For
              def Semantics.Kinds.NMP.up (World : Type u_1) (Atom : Type u_2) (k : Kind World Atom) :
              Property World Atom

              The "up" operator ∪ (cup): predicativize a kind to a property.

              ∪k = λx[x ⊆ kₛ]

              The extension is the ideal generated by the kind's instances: all individuals that are "part of" the totality of instances.

              Property: ∪ applied to a kind yields a MASS denotation. This is because the extension includes both atoms and pluralities.

              Equations
              Instances For
                def Semantics.Kinds.NMP.IsMass (World : Type u_1) (Atom : Type u_2) (P : Property World Atom) :

                A property is mass iff its extension at every world is determined by atomic content: x ∈ P w ↔ ∀ a ∈ x, {a} ∈ P w ([Chi98] §2.2).

                This implies both cumulative reference (CUM) and divisive reference (DIV): mass extensions are closed under union and subset.

                Equations
                Instances For
                  theorem Semantics.Kinds.NMP.isMass_div {World : Type u_3} {Atom : Type u_4} (P : Property World Atom) (hMass : IsMass World Atom P) (w : World) :

                  Mass properties have divisive reference: if x ∈ P w and y ⊆ x, then y ∈ P w. Every part of a mass-noun instance is also an instance.

                  theorem Semantics.Kinds.NMP.isMass_cum {World : Type u_3} {Atom : Type u_4} (P : Property World Atom) (hMass : IsMass World Atom P) (w : World) :

                  Mass properties have cumulative reference: if x ∈ P w and y ∈ P w, then x ∪ y ∈ P w. Combining mass-noun instances yields an instance.

                  def Semantics.Kinds.NMP.pluralClosure (World : Type u_1) (Atom : Type u_2) (P : Property World Atom) :
                  Property World Atom

                  Plural closure of a property: close extensions under join (⊔) at each world.

                  This is [Lin83]'s *P operator, Krifka's ⊔ superscript: the smallest superset of P(w) closed under set union. Singular count nouns like spider are not cumulative, so pluralClosure(⟦spider⟧) adds pluralities — the denotation of the bare plural spiders.

                  Mass nouns like mold are already cumulative, so plural closure is a no-op: pluralClosure(⟦mold⟧) = ⟦mold⟧ (see pluralClosure_mass).

                  Equations
                  Instances For
                    theorem Semantics.Kinds.NMP.pluralClosure_mass {World : Type u_3} {Atom : Type u_4} (P : Property World Atom) (hMass : IsMass World Atom P) :
                    pluralClosure World Atom P = P

                    Plural closure is idempotent for mass nouns: ⊔P = P when P is cumulative. This is [Kri26]'s absorption rule ⊔⊔S = ⊔S for the join closure.

                    theorem Semantics.Kinds.NMP.subset_pluralClosure {World : Type u_3} {Atom : Type u_4} (P : Property World Atom) (w : World) :
                    P w pluralClosure World Atom P w

                    A property is contained in its plural closure.

                    theorem Semantics.Kinds.NMP.pluralClosure_cum {World : Type u_3} {Atom : Type u_4} (P : Property World Atom) (w : World) :
                    Mereology.CUM (pluralClosure World Atom P w)

                    Plural closure is always cumulative.

                    def Semantics.Kinds.NMP.kindAnaphorMass (World : Type u_1) (Atom : Type u_2) (P : Property World Atom) :
                    Kind World Atom

                    Kind anaphor for [MASS] concepts: ⟦it⟧ = λP[MASS]. λi. ∩P(i).

                    Mass nouns are already cumulative, so ∩ applies directly without plural closure. The singular pronoun it picks up a mass concept dref and derives the corresponding kind individual.

                    Example: John noticed mold. He is allergic against it. ⟦it⟧(⟦mold⟧) = ∩⟦mold⟧ = the mold-kind

                    Equations
                    Instances For
                      def Semantics.Kinds.NMP.kindAnaphorCount (World : Type u_1) (Atom : Type u_2) (P : Property World Atom) :
                      Kind World Atom

                      Kind anaphor for [COUNT] concepts: ⟦they⟧ = λP[COUNT]. λi. ∩(⊔P)(i).

                      Count nouns need plural closure (⊔) before nominalization (∩). The plural pronoun they picks up a count concept dref, applies plural closure to get a cumulative predicate, then derives the kind individual via ∩.

                      Example: John noticed a spider. He has a phobia against them. ⟦they⟧(⟦spider⟧) = ∩(⊔⟦spider⟧) = ∩⟦spiders⟧ = the spider-kind

                      Equations
                      Instances For
                        theorem Semantics.Kinds.NMP.kindAnaphorCount_mass (World : Type u_1) (Atom : Type u_2) (P : Property World Atom) (hMass : IsMass World Atom P) :
                        kindAnaphorCount World Atom P = kindAnaphorMass World Atom P

                        For mass nouns, the two anaphors yield the same kind (up to absorption). This is why it and they are interchangeable for mass concepts — except that the morphosyntactic [MASS] feature blocks they.

                        theorem Semantics.Kinds.NMP.up_down_id (World : Type u_1) (Atom : Type u_2) (P : Property World Atom) (hMass : IsMass World Atom P) :
                        up World Atom (down World Atom P) = P

                        Key theorem: ∪(∩P) = P for mass properties.

                        Going down and then up returns the original property (for suitable P). The mass-noun condition IsMass ensures that the extension at each world is determined by its atomic content, which is exactly what down extracts and up reconstructs.

                        theorem Semantics.Kinds.NMP.down_up_id (World : Type u_1) (Atom : Type u_2) (k : Kind World Atom) :
                        down World Atom (up World Atom k) = k

                        Key theorem: ∩(∪k) = k for any kind k.

                        Going up and then down returns the original kind.

                        def Semantics.Kinds.NMP.DKP (World : Type u_1) (Atom : Type u_2) (P : Individual AtomBool) (k : Kind World Atom) (w : World) :

                        Derived Kind Predication: coerce object-level predicates to accept kinds.

                        When an object-level predicate P applies to a kind k, introduce existential quantification over instances:

                        P(k) = ∃x[∪k(x) ∧ P(x)]

                        This is a type-coercion triggered by sort mismatch.

                        Example: "Lions are roaring in the zoo"

                        • "lions" denotes a kind
                        • "roaring in the zoo" is an object-level predicate
                        • DKP yields: ∃x[lion(x) ∧ roaring-in-the-zoo(x)]
                        Equations
                        Instances For
                          def Semantics.Kinds.NMP.liftToKind (World : Type u_1) (Atom : Type u_2) (P : Individual AtomBool) :
                          Kind World AtomWorldProp

                          DKP as a type-shifting operation on predicates.

                          Takes an object-level predicate and returns a kind-level predicate.

                          Equations
                          Instances For
                            def Semantics.Kinds.NMP.DPP (Atom : Type u_2) (property predicate : Individual AtomBool) :

                            Derived Property Predication: coerce a property to yield an existential.

                            When a property P (rather than a kind) composes with a predicate Q, introduce low-scoped existential quantification:

                            DPP(Q)(P) = ∃x[P(x) ∧ Q(x)]

                            This is the mirror image of DKP. Where DKP applies to kinds (via ∪), DPP applies to properties directly. [Mor21] (85): DPP applies when bare nouns (base type ⟨s,⟨e,t⟩⟩) compose with a verb at vP, yielding obligatory low scope w.r.t. negation. [Gue26] §5.3: the existential reading of bare plurals in episodic sentences arises from property-level LFs via DPP, not from kind-level DKP.

                            Example: "Bears are destroying my garden" (existential reading)

                            • "bears" denotes a property (λx.bear(x))
                            • "destroying my garden" is a predicate
                            • DPP yields: ∃x[bear(x) ∧ destroying-my-garden(x)]

                            DPP applies locally (like DKP), so it yields obligatory low scope.

                            Equations
                            Instances For

                              The Nominal Mapping Parameter.

                              Languages vary in what they let their NPs denote:

                              • [+arg]: NPs can be argumental (type e, denoting kinds)
                              • [+pred]: NPs can be predicative (type ⟨e,t⟩)

                              The combination determines the language's nominal system.

                              • argOnly : NominalMapping

                                [+arg, -pred]: All nouns are kinds (Chinese-like)

                                • All nouns are mass-like
                                • No plural morphology
                                • Generalized classifier system
                                • Bare arguments everywhere
                              • argAndPred : NominalMapping

                                [+arg, +pred]: Nouns can be kinds or predicates (Germanic-like)

                                • Mass/count distinction
                                • Bare plurals and mass nouns as arguments
                                • Singular count nouns require D
                              • predOnly : NominalMapping

                                [-arg, +pred]: All nouns are predicates (Romance-like)

                                • Mass/count distinction
                                • Bare arguments restricted (need licensing)
                                • D must be projected for argumenthood
                              Instances For
                                @[implicit_reducible]
                                Equations
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  Language family classification

                                  Equations
                                  Instances For
                                    def Semantics.Kinds.NMP.CanDenoteKind (mapping : NominalMapping) (hasD : Prop) [Decidable hasD] :

                                    Whether a nominal can denote a kind, given the language's mapping parameter and whether an overt determiner (D) is present.

                                    • [+arg] languages: nouns can denote kinds without D (covert ∩ available)
                                    • [-arg, +pred] languages: D is required to map predicates to arguments; without D, nouns remain predicates (properties)
                                    Equations
                                    Instances For
                                      @[implicit_reducible]
                                      instance Semantics.Kinds.NMP.instDecidableCanDenoteKind (m : NominalMapping) (h : Prop) [Decidable h] :
                                      Decidable (CanDenoteKind m h)
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      @[implicit_reducible]
                                      Equations
                                      • One or more equations did not get rendered due to their size.

                                      Denotation type for bare nominal expressions: kind (type e individual concept) vs property (type ⟨e,t⟩). The two values name the targets of CanDenoteKind and CanDenoteProperty.

                                      Instances For
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[implicit_reducible]
                                          Equations
                                          def Semantics.Kinds.NMP.pluralize {Atom : Type u_3} (F : Set Atom) :
                                          Set (Individual Atom)

                                          Pluralization / mass extension: the set of non-empty sub-individuals.

                                          For count nouns, PL(F) = { s | s.Nonempty ∧ s ⊆ F } — the set of pluralities whose atomic parts are all in the original extension.

                                          Mass nouns come out of the lexicon "already pluralized": a mass noun like "furniture" is true of individual pieces AND pluralities of pieces, without distinction. Its extension has the same form: { s | s.Nonempty ∧ s ⊆ atoms }.

                                          Equations
                                          Instances For

                                            The Blocking Principle: covert type shifting is blocked when an overt determiner has the same meaning.

                                            For any type shifting operation τ and any X: *τ(X) if there is a determiner D such that D(X) = τ(X)

                                            In English:

                                            • ι (iota) is blocked by "the" → can't use ι covertly
                                            • ∃ is blocked by "a/some" for singulars → can't use ∃ covertly for singulars
                                            • ∩ is NOT blocked → can use ∩ freely for bare plurals/mass

                                            This explains why English allows bare plurals but not bare singulars.

                                            • determiners : List String

                                              Available overt determiners

                                            • iotaBlocked : Bool

                                              Whether ι (definite) is blocked

                                            • existsBlocked : Bool

                                              Whether ∃ (indefinite singular) is blocked

                                            • downBlocked : Bool

                                              Whether ∩ (kind formation) is blocked

                                            Instances For

                                              Bare argument is licensed iff the required type shift is not blocked

                                              Equations
                                              Instances For
                                                def Semantics.Kinds.NMP.downDefinedFor (nounType : MassCount) (isPlural : Bool) :
                                                Bool

                                                The key insight: ∩ is undefined for singular count nouns.

                                                ∩ applied to a singular property would need to yield a kind. But kinds necessarily have plurality of instances (across worlds). A property that is necessarily instantiated by just one individual does not qualify as a kind.

                                                Therefore:

                                                • ∩(dogs) = the dog-kind ✓
                                                • ∩(dog) = undefined ✗

                                                This, combined with blocking of ι and ∃ by articles, explains why bare singular count nouns cannot occur as arguments in English.

                                                Equations
                                                Instances For
                                                  theorem Semantics.Kinds.NMP.bare_plural_ok_bare_singular_not (bp : BlockingPrinciple) (hIota : bp.iotaBlocked = true) (hExists : bp.existsBlocked = true) :
                                                  downDefinedFor MassCount.count true = true downDefinedFor MassCount.count false = false bp.iotaBlocked = true bp.existsBlocked = true

                                                  Why bare plurals are OK but bare singulars are not (in languages with articles).

                                                  Given a language where:

                                                  • ι is blocked (has "the")
                                                  • ∃ is blocked for singulars (has "a")
                                                  • ∩ is not blocked

                                                  Then:

                                                  • Bare plurals OK: ∩ is defined and not blocked
                                                  • Bare singulars OUT: ∩ is undefined, and ι/∃ are blocked

                                                  Language-specific configurations live in Fragments/{Language}/Nouns.lean.

                                                  Bare plurals are scopeless because DKP introduces a local existential: the existential closure sits inside negation and cannot scope out. This locality is the theorem chierchia_position_invariant below — Chierchia's derivation is the same whether or not the bare plural has scrambled. See Data/Examples/LeBruynDeSwart2022.json for empirical scope data.

                                                  def Semantics.Kinds.NMP.fallbackToExists (isKindDenoting : Bool) (bp : BlockingPrinciple) :
                                                  Bool

                                                  When ∩ is undefined (NP doesn't denote a kind), we fall back to ∃.

                                                  For non-kind-denoting NPs like "parts of that machine":

                                                  • ∩ is undefined (no corresponding natural kind)
                                                  • ∃ is available (not blocked for plurals)
                                                  • Result: these NPs behave like regular existential GQs
                                                  Equations
                                                  Instances For

                                                    DKP scope derivation (Chierchia side of the scrambling comparison) #

                                                    [Kri04] [Chi98]

                                                    Chierchia's Derived Kind Predication introduces the existential locally — where the kind meets the predicate — so negation always scopes outside it. Modelled with plain Prop existential closure (existsClose) over the kind's instances. Krifka's position-sensitive ∃-shift in Krifka2004.lean reuses the same existsClose, so the two accounts share one closure and differ only in where negation sits; they are compared on the Dutch scrambling data in Studies/LeBruynDeSwart2022.lean.

                                                    existsClose is Partee's A (existential closure) in plain extensional form. The same operator dressed in the DWP/Gallin deep embedding is Semantics.Composition.TypeShifting.A, needed there for type-shift metatheory but not for this scope contrast.

                                                    @[reducible]
                                                    def Semantics.Kinds.NMP.existsClose {Entity : Type u_3} (dom : List Entity) (P Q : EntityProp) :

                                                    Existential closure of a property P against a predicate Q over a finite domain: ∃ x ∈ dom, P x ∧ Q x. Partee's A type shift in plain extensional form; reducible so concrete instances are Decidable.

                                                    Equations
                                                    Instances For
                                                      def Semantics.Kinds.NMP.chierchiaDerivUnscrambled {Entity : Type u_3} (kind : List Entity) (P Q : EntityProp) :

                                                      Chierchia's DKP, unscrambled [niet [BP V]]: ¬ ∃ x ∈ kind, P x ∧ Q x. The existential is introduced locally, so negation scopes outside it (narrow scope).

                                                      Equations
                                                      Instances For
                                                        def Semantics.Kinds.NMP.chierchiaDerivScrambled {Entity : Type u_3} (kind : List Entity) (P Q : EntityProp) :

                                                        Chierchia's DKP, scrambled [BP [niet V]]: identical to the unscrambled derivation. DKP locality means surface position cannot move the existential.

                                                        Equations
                                                        Instances For
                                                          theorem Semantics.Kinds.NMP.chierchia_position_invariant {Entity : Type u_3} (kind : List Entity) (P Q : EntityProp) :

                                                          DKP is local: the scrambled and unscrambled derivations coincide, so Chierchia predicts obligatory narrow scope regardless of surface position. This is the content the former dkpIsLocal : Bool := true stipulated — now a theorem about the derivations.

                                                          Empirical Data #

                                                          For empirical patterns (scope judgments, predicate class effects), see Data/Examples/LeBruynDeSwart2022.json and Data/Examples/CohenErteschikShir2002.json.

                                                          For kind formation by salient equivalence relations (the Mendia 2020 framework that subsumes Carlson's Disjointness Condition), see Semantics/Kinds/Subkinds.lean.