Documentation

Linglib.Semantics.Degree.Abstraction

Heim's Degree Operator Approach #

[Hei01]

[Hei01] "Degree Operators and Scope": degree morphemes (-er, less, -est, too) are generalized quantifiers over degrees (type ⟨dt,t⟩) that take scope by QR, just like DP quantifiers. The key theoretical content is twofold:

  1. Denotation: ⟦-er than P⟧ = λQ. max(Q) > max(P), where max is the maximality operator over degree predicates.
  2. Scope: because DegPs QR, they interact scopally with other operators (quantifiers, negation, modals). The paper probes which scope configurations are empirically available.

Monotonicity and Scope Collapse #

Adjective denotations are monotone: if tall(x,d) then tall(x,d') for all d' ≤ d. This means max{d: tall(x,d)} = μ(x). And for monotone increasing operators (∀, ∃), low-DegP and high-DegP yield equivalent truth conditions — scope is undetectable.

Comparison with Kennedy #

Kennedy's -er is DP-internal (no QR needed), so it never takes wide scope. The two frameworks agree extensionally on simple comparatives but diverge on scope predictions with exactly-differentials, less, and intensional verbs.

Order-Theoretic Foundations #

Heim's maximality operator IsMaxDeg is Mathlib's IsGreatest. Heim's matrix degree predicate λd. μ(a) ≥ d is [Ken99]'s posExt μ a — the principal downset Set.Iic (μ a), the same mathematical object arrived at from different linguistic motivations. The scope collapse theorems factor through the degree image μ '' {x | R x}, connecting to gc_sSup_Iic under ConditionallyCompleteLattice.

A degree predicate: a set of degrees (type ⟨d,t⟩ in Heim's terms). Both the matrix clause and the than-clause denote degree predicates after degree abstraction.

Equations
Instances For
    def Degree.Abstraction.IsMaxDeg {D : Type u_1} [LE D] (P : DegreePredicate D) (d : D) :

    Heim's maximality operator (paper def. (6)): max(P) := ιd. P(d) ∧ ∀d', P(d') → d' ≤ d

    We define it relationally: d is the maximum of P when it satisfies P and is an upper bound.

    Equations
    Instances For
      theorem Degree.Abstraction.isMaxDeg_iff_isGreatest {D : Type u_1} [LE D] (P : DegreePredicate D) (d : D) :
      IsMaxDeg P d IsGreatest {d' : D | P d'} d

      Heim's maximality = Mathlib's IsGreatest.

      IsMaxDeg P d ("d is the maximum of predicate P") is IsGreatest {d | P d} d ("d is the greatest element of the set satisfying P"). The equivalence makes all of Mathlib.Order.Bounds available for degree-semantic reasoning.

      def Degree.Abstraction.thanClausePredicate {Entity : Type u_1} {D : Type u_2} [Preorder D] (μ : EntityD) (b : Entity) :

      The than-clause degree predicate for "B is d-tall": λd. μ(B) ≥ d.

      Equations
      Instances For
        theorem Degree.Abstraction.isMaxDeg_posExt {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (μ : EntityD) (a : Entity) :
        IsMaxDeg (posExt μ a) (μ a)

        The maximum of the positive extent λd. μ(a) ≥ d is μ(a) itself. This grounds the Heim–Kennedy equivalence: max{d: tall(a,d)} = μ(a).

        This is Mathlib's isGreatest_Iic — the greatest element of {d | d ≤ μ(a)} is μ(a) — specialized to degree semantics.

        def Degree.Abstraction.IsMonotoneAdj {Entity : Type u_1} {D : Type u_2} [Preorder D] (adj : DEntityProp) :

        An adjective denotation (type ⟨d,et⟩) is monotone iff tall(x,d) implies tall(x,d') for all d' ≤ d.

        [Hei01]: a function f of type ⟨d,et⟩ is monotone iff ∀x∀d∀d'[f(d)(x) = 1 & d' < d → f(d')(x) = 1].

        Named IsMonotoneAdj (not Monotone) to avoid shadowing mathlib's Monotone.

        Equations
        Instances For
          theorem Degree.Abstraction.posExt_downwardClosed {Entity : Type u_1} {D : Type u_2} [Preorder D] (μ : EntityD) (a : Entity) (d d' : D) :
          posExt μ a dd' dposExt μ a d'

          posExt μ a is always downward-closed (by construction).

          def Degree.Abstraction.heimComparativeWithMeasure {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (μ : EntityD) (a b : Entity) :

          Heim comparative with measure function: the result of composing -er with degree predicates derived from a monotone adjective.

          "A is taller than B" = ⟦-er⟧(λd. μ(B) ≥ d)(λd. μ(A) ≥ d) = max{d: μ(A) ≥ d} > max{d: μ(B) ≥ d} = μ(A) > μ(B)

          Equations
          Instances For
            def Degree.Abstraction.lowDegP_forall {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (restrictor : EntityProp) (μ : EntityD) (threshold : D) :

            Low-DegP truth conditions for "every girl is taller than 4ft": ∀x[girl(x) → max{d: tall(x,d)} > 4']

            DegP scopes below the quantifier. Each girl's height exceeds 4'.

            Equations
            Instances For
              def Degree.Abstraction.highDegP_forall {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (restrictor : EntityProp) (μ : EntityD) (threshold : D) :

              High-DegP truth conditions for "every girl is taller than 4ft": max{d: ∀x[girl(x) → tall(x,d)]} > 4'

              DegP scopes above the quantifier. The maximal degree to which every girl is tall exceeds 4'. This equals the height of the shortest girl (by monotonicity).

              Equations
              Instances For
                def Degree.Abstraction.lowDegP_exists {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (restrictor : EntityProp) (μ : EntityD) (threshold : D) :

                Low-DegP for ∃: ∃x[girl(x) ∧ μ(x) > threshold].

                Equations
                Instances For
                  def Degree.Abstraction.highDegP_exists {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (restrictor : EntityProp) (μ : EntityD) (threshold : D) :

                  High-DegP for ∃: max{d: ∃x[girl(x) ∧ tall(x,d)]} > threshold. This equals the tallest girl's height.

                  Equations
                  Instances For
                    theorem Degree.Abstraction.exists_scope_via_degreeImage {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (R : EntityProp) (μ : EntityD) (t : D) :
                    lowDegP_exists R μ t dμ '' {x : Entity | R x}, d > t

                    ∃ scope collapse via degree image: both scope readings ask whether the degree image μ '' {x | R x} contains an element above t.

                    theorem Degree.Abstraction.forall_scope_via_degreeImage {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (R : EntityProp) (μ : EntityD) (t : D) :
                    lowDegP_forall R μ t dμ '' {x : Entity | R x}, d > t

                    ∀ scope collapse via degree image lower bounds: both scope readings ask whether t is strictly below every element of the degree image μ '' {x | R x}.

                    theorem Degree.Abstraction.forall_more_high_to_low {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (restrictor : EntityProp) (μ : EntityD) (threshold : D) :
                    highDegP_forall restrictor μ thresholdlowDegP_forall restrictor μ threshold

                    Monotone collapse (Heim §2.1): for ∀ + more-comparatives, high-DegP → low-DegP (the reverse direction).

                    If there exists d > threshold s.t. every girl is d-tall, then every girl exceeds threshold (since μ(x) ≥ d > threshold).

                    theorem Degree.Abstraction.forall_more_low_to_high {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (restrictor : EntityProp) (μ : EntityD) (threshold : D) (w : Entity) (hw : restrictor w) (hmin : ∀ (x : Entity), restrictor xμ x μ w) :
                    lowDegP_forall restrictor μ thresholdhighDegP_forall restrictor μ threshold

                    Monotone collapse (Heim §2.1): for ∀ + more-comparatives, low-DegP → high-DegP (given a witness).

                    If every girl is taller than threshold, pick any girl w — her height witnesses d > threshold with ∀x.tall(x,d) being vacuously weak (every girl is at least threshold-tall, and w is one of them).

                    theorem Degree.Abstraction.exists_more_scope_collapse {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (restrictor : EntityProp) (μ : EntityD) (threshold : D) :
                    lowDegP_exists restrictor μ threshold highDegP_exists restrictor μ threshold

                    Monotone collapse for ∃ + more: low ↔ high. Both readings reduce to ∃ d ∈ μ '' {x | R x}, d > t (see exists_scope_via_degreeImage).

                    def Degree.Abstraction.negatedDegreePredicate {Entity : Type u_1} {D : Type u_2} [Preorder D] (μ : EntityD) (a : Entity) :

                    The degree set {d : ¬(μ(x) ≥ d)} = {d : d > μ(x)}. This set has no maximum on an unbounded scale. Heim (p. 220): high-DegP over negation is ruled out because max{d: ¬tall(m,d)} is undefined.

                    Equations
                    Instances For
                      theorem Degree.Abstraction.negatedDegreePredicate_eq {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (μ : EntityD) (a : Entity) (d : D) :
                      negatedDegreePredicate μ a d d > μ a

                      The negated degree set is negExt ([Ken99]): the degrees entity a "lacks". The failure of IsMaxDeg for this predicate corresponds to negExt (= Set.Ioi) having no IsGreatest element — it is unbounded above.

                      theorem Degree.Abstraction.heim_extensional_equivalence {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (μ : EntityD) (a b : Entity) :

                      Extensional equivalence: Heim yields the same truth conditions as the consensus comparative semantics for simple comparatives. They differ only on scope predictions with exactly-differentials, less-comparatives, and intensional verbs (Heim §2.2–2.3).

                      theorem Degree.Abstraction.heim_kennedy_via_galois {Entity : Type u_1} {D : Type u_2} [LinearOrder D] (μ : EntityD) (a b : Entity) :
                      heimComparativeWithMeasure μ a b posExt μ b posExt μ a

                      The Heim comparative and Kennedy's extent comparison are connected by the Galois connection: both factor through the same order on degrees.