Degree Semantics: Core Infrastructure #
@cite{heim-2001} @cite{kennedy-2007} @cite{klein-1980} @cite{rett-2026} @cite{schwarzschild-2008} @cite{israel-2011} @cite{kennedy-mcnally-2005}
Shared types and interfaces for degree-based analyses of gradable
expressions. This module defines the minimal GradablePredicate
interface that all degree semantic frameworks (Kennedy, Heim, Klein,
Schwarzschild, Rett) share, and the compositional DegP structure
for degree phrase composition.
Design #
Every degree framework provides a measure function μ : Entity → Degree. They differ in how the degree argument is bound and how the standard of comparison is introduced:
| Framework | Degree binding | Standard introduction |
|---|---|---|
| @cite{kennedy-2007} | Degree quantifier -er | Degree clause |
| @cite{heim-2001} | Sentential -er operator | λ-abstraction |
| @cite{klein-1980} | No degrees | Comparison class |
| Schwarzschild | Intervals on scale | Interval semantics |
| @cite{rett-2026} | Order-sensitive MAX | Scale-directional MAX |
All frameworks except Klein posit degrees; this module provides the interface they share.
Connection to Core.Scale #
Core.Scale defines the algebraic infrastructure (boundedness, MAX,
DirectedMeasure, degree/threshold types for computation). This module adds
the linguistic interface: gradable predicates, DegP composition, and
standard-of-comparison structure.
Relationship to Lexical.Adjective.Theory #
This module uses abstract types (Entity D : Type* with LinearOrder D)
for framework-level theorems. Lexical.Adjective.Theory uses concrete
Degree max (= Fin (max+1)) for computation in RSA models and Fragment
entries. The two serve different clients: this module is imported by
Degree/Frameworks/ and Degree/Comparative.lean; Adjective.Theory is
imported by Fragments/English/ and Phenomena/Gradability/ bridges.
Minimal interface for a gradable predicate: a measure function mapping entities to degrees on a scale with known boundedness.
Extends DirectedMeasure D Entity with a lexical form field.
Every degree framework (Kennedy, Heim, Schwarzschild, Rett) provides
an instance. Klein's delineation approach does not use degrees, so
it does not instantiate this interface.
The algebraic content (μ, boundedness, direction) comes from
DirectedMeasure. GradablePredicate adds only the lexical identity.
The D parameter is the degree type (e.g., ℚ, Degree max,
or an abstract LinearOrder).
Instances For
The compositional structure of a Degree Phrase (DegP).
In all degree frameworks, DegP is the syntactic locus where degree comparison happens. The internal structure varies:
Kennedy: [DegP [Deg -er/as/est] [DegComplement than-clause]] Heim: [DegP [-er d₁ d₂]...] (sentential operator)
This type captures the framework-independent parts: what kind of comparison, and what standard type.
- comparative : DegPType
- equative : DegPType
- superlative : DegPType
- excessive : DegPType
- sufficiency : DegPType
Instances For
Equations
- Semantics.Degree.instBEqDegPType.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
The standard of comparison: what the degree is compared to.
- explicit : StandardType
- contextual : StandardType
- absolute : StandardType
Instances For
Equations
- Semantics.Degree.instBEqStandardType.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
The positive (unmarked) form of a gradable adjective: "Kim is tall" is true iff μ(Kim) exceeds a contextual standard θ.
This is the common core across Kennedy and Heim:
- Kennedy: ⟦tall⟧ = λd.λx. height(x) ≥ d, with θ = pos(tall)
- Heim: ⟦tall⟧ = λx. height(x) ≥ θ_c
Klein's approach is different: "tall" is true relative to a comparison class, with no degree parameter.
Equations
- Semantics.Degree.positiveSem μ θ x = (μ x ≥ θ)
Instances For
The positive form with standard derived from scale structure. @cite{kennedy-2007}: for closed-scale adjectives, the standard IS the scale endpoint (minimum or maximum); for open-scale adjectives, it's contextually determined.
Equations
- Semantics.Degree.positiveFromScale μ Core.Scale.Boundedness.closed x = (μ x = ⊤)
- Semantics.Degree.positiveFromScale μ Core.Scale.Boundedness.upperBounded x = (μ x = ⊤)
- Semantics.Degree.positiveFromScale μ Core.Scale.Boundedness.lowerBounded x = (μ x > ⊥)
- Semantics.Degree.positiveFromScale μ Core.Scale.Boundedness.open_ x = True
Instances For
Computational (Bool) versions of threshold comparison using concrete
Degree max types. Moved from Lexical.Adjective.Theory — these are
general degree operations, not adjective-specific.
Positive form: degree > threshold
Instances For
Negative form: degree < threshold
Instances For
Antonym reverses the comparison
Instances For
Monotonicity of positiveMeaning in the threshold: a higher threshold
is informationally stronger. If d > θ_strong and θ_weak ≤ θ_strong,
then d > θ_weak. This grounds the InformationalStrength distinction
between weak adjectives (lower θ) and strong adjectives (higher θ).
Degree modifier direction — same axis as NPI scalar direction.
- amplifier : ModifierDirection
- downtoner : ModifierDirection
Instances For
Equations
- Semantics.Degree.instBEqModifierDirection.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A degree modifier that shifts the threshold of a gradable predicate.
- form : String
- direction : ModifierDirection
- rank : ℕ
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Apply a modifier to a threshold.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A modified gradable predicate: degree(x) > M(θ).
Equations
Instances For
"slightly" — minimal downtoner
Equations
- Semantics.Degree.slightly max h = { form := "slightly", direction := Semantics.Degree.ModifierDirection.downtoner, shift := ⟨1, ⋯⟩, rank := 1 }
Instances For
"kind of" — moderate downtoner
Equations
- Semantics.Degree.kindOf max h = { form := "kind of", direction := Semantics.Degree.ModifierDirection.downtoner, shift := ⟨2, ⋯⟩, rank := 2 }
Instances For
"quite" — amplifier (AmE reading).
Equations
- Semantics.Degree.quite max h = { form := "quite", direction := Semantics.Degree.ModifierDirection.amplifier, shift := ⟨1, ⋯⟩, rank := 1 }
Instances For
"very" — strong amplifier
Equations
- Semantics.Degree.very max h = { form := "very", direction := Semantics.Degree.ModifierDirection.amplifier, shift := ⟨2, ⋯⟩, rank := 2 }
Instances For
"extremely" — maximal amplifier
Equations
- Semantics.Degree.extremely max h = { form := "extremely", direction := Semantics.Degree.ModifierDirection.amplifier, shift := ⟨3, ⋯⟩, rank := 3 }
Instances For
Degree construction type (positive, comparative, equative, etc.). Used by evaluativity analyses to track which constructions trigger evaluative readings.
- positive : AdjectivalConstruction
- comparative : AdjectivalConstruction
- equative : AdjectivalConstruction
- measurePhrase : AdjectivalConstruction
- degreeQuestion : AdjectivalConstruction
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Semantics.Degree.instBEqAdjectivalConstruction.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Positive form standard: how the contextual threshold is determined. @cite{kennedy-2007}: for open scales, the standard is the contextual norm; for closed scales, it's the relevant endpoint.
- contextual : PositiveStandard
- minEndpoint : PositiveStandard
- maxEndpoint : PositiveStandard
- functional : PositiveStandard
Instances For
Equations
- Semantics.Degree.instBEqPositiveStandard.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Interpretive Economy determines the standard from scale structure. When a scale has an endpoint, Interpretive Economy requires using it as the standard (more informative than contextual norm).
Equations
- Semantics.Degree.interpretiveEconomy Core.Scale.Boundedness.open_ = Semantics.Degree.PositiveStandard.contextual
- Semantics.Degree.interpretiveEconomy Core.Scale.Boundedness.lowerBounded = Semantics.Degree.PositiveStandard.minEndpoint
- Semantics.Degree.interpretiveEconomy Core.Scale.Boundedness.upperBounded = Semantics.Degree.PositiveStandard.maxEndpoint
- Semantics.Degree.interpretiveEconomy Core.Scale.Boundedness.closed = Semantics.Degree.PositiveStandard.maxEndpoint
Instances For
@cite{kennedy-2007}'s relative vs. absolute adjective distinction. Kennedy uses "relative" and "absolute"; we label them Class A/B for brevity.
- Class A (= Kennedy's "relative"): open scale, contextual standard determined by the standard-fixing function s. "tall", "expensive", "heavy"
- Class B (= Kennedy's "absolute"): closed scale, endpoint standard fixed by Interpretive Economy. "full", "empty", "straight", "bent"
The class is determined entirely by scale boundedness (§4.2, p. 32-35). Kennedy argues (§2.3, p. 16) that comparison classes are descriptively real but not semantic arguments of pos — they influence the standard through contextual domain restriction, not as constituents of the logical form (contra @cite{klein-1980}).
Equations
Instances For
Equations
Instances For
Class A adjectives have contextual standards.
Class B adjectives (closed scale) have endpoint standards.
Whether the positive standard depends on contextual domain information.
@cite{kennedy-2007} argues (§2.3, p. 16) that the comparison class
"is not the crucial feature on which we should be basing an account of
the semantic properties of vague predicates" — it is NOT a semantic
argument of pos (contra @cite{klein-1980}). Instead, Kennedy replaces
it with the standard-fixing function s (eq 27): ⟦pos⟧ = λg.λx. g(x) ≥ s(g).
Nevertheless, for relative (open-scale) adjectives, s still requires contextual domain information — "the distribution of objects in some domain (a comparison class)" (p. 42). For absolute (closed-scale) adjectives, the standard comes from scale endpoints via Interpretive Economy, with no contextual domain needed.
true for .contextual (standard depends on contextual domain),
false for .minEndpoint / .maxEndpoint (standard is a scale bound).
Equations
- Semantics.Degree.PositiveStandard.contextual.requiresComparisonClass = true
- Semantics.Degree.PositiveStandard.minEndpoint.requiresComparisonClass = false
- Semantics.Degree.PositiveStandard.maxEndpoint.requiresComparisonClass = false
- Semantics.Degree.PositiveStandard.functional.requiresComparisonClass = true
Instances For
Relative (Class A) adjectives need contextual domain information: open scale → contextual s → domain-dependent.
Absolute (Class B) adjectives do NOT need contextual domain information: bounded scale → endpoint standard → domain-independent.
The full chain: isClassA ↔ requiresComparisonClass after
Interpretive Economy. Scale structure determines everything.
Kennedy's adjective classification based on scale structure and standard type.
The key distinction:
- Relative Gradable Adjectives (RGA): Standard varies with comparison class Examples: tall, expensive, big, old
- Absolute Gradable Adjectives (AGA): Standard fixed by scale structure
- Maximum standard: full, straight, closed, dry
- Minimum standard: wet, bent, open, dirty
Source: @cite{kennedy-2007}, @cite{kennedy-mcnally-2005}
- relativeGradable : AdjectiveClass
- absoluteMaximum : AdjectiveClass
- absoluteMinimum : AdjectiveClass
- mildlyPositive : AdjectiveClass
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Semantics.Degree.instBEqAdjectiveClass.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Coarse 2-way classification: relative vs absolute. Collapses absoluteMaximum and absoluteMinimum.