Gradable Nouns as Measure Functions #
Gradable nouns denote measure functions from individuals to degrees (eq. 48b): ⟦idiot⟧ = λx . ιd[x is d-idiotic] = idiot.
Size adjectives in degree readings are introduced by MEAS_N (eq. 76), the nominal counterpart of the adjectival MEAS morpheme. The Bigness Generalization (§2.2) follows from scale structure: min{d : small(d)} = d₀, making "small" vacuous.
Simplification: Our measN omits the d ∈ scale(g) restriction from
Morzycki's full MEAS_N (eq. 76), since all examples here use a single shared
degree scale. The full denotation is:
⟦MEAS_N⟧ = λg.λm.λx . [min{d : d ∈ scale(g) ∧ m(d)} ≤ g(x)] ∧ [standard(g) ≤ g(x)]
d0 is the minimum degree (from BoundedOrder).
Apply POS to a gradable noun: λx. standard(g) < g(x).
Uses strict inequality, matching positiveMeaning in Degree.Basic:
an entity satisfies POS(N) iff its degree exceeds the standard
([Ken07]).
Instances For
Size adjectives characterized by polarity (big vs small).
- big : SizePolarity
- small : SizePolarity
Instances For
Equations
- Degree.instReprSizePolarity.repr Degree.SizePolarity.big prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Degree.SizePolarity.big")).group prec✝
- Degree.instReprSizePolarity.repr Degree.SizePolarity.small prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Degree.SizePolarity.small")).group prec✝
Instances For
Equations
- Degree.instReprSizePolarity = { reprPrec := Degree.instReprSizePolarity.repr }
Equations
- Degree.instDecidableEqSizePolarity x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Big: maps degrees to their "bigness" (identity on the degree scale).
Equations
- Degree.bigness d = d
Instances For
Small: inverted ordering (0 maximally small, 10 minimally small).
Equations
- Degree.smallness d = Degree.Bounded.ofNat 10 (10 - d.toNat)
Instances For
Standard for "big" (contextual, typically middling).
Equations
Instances For
Standard for "small" (contextual).
Equations
Instances For
POS applied to size adjective: λd. standard(size) ≤ size(d).
Equations
- Degree.posBig d = decide (Degree.bigStandard ≤ Degree.bigness d)
Instances For
Equations
- Degree.posSmall d = decide (Degree.smallStandard ≤ Degree.smallness d)
Instances For
Find minimum degree satisfying a predicate.
Equations
- Degree.minDegree p = List.find? p (Degree.allDegrees 10)
Instances For
Simplified MEAS_N: ⟦MEAS_N⟧(g)(m)(x) = [min{d : m(d)} ≤ g(x)] ∧ [standard(g) ≤ g(x)]. Full version (Morzycki eq. 76) has min over {d : d ∈ scale(g) ∧ m(d)}.
Equations
- Degree.measN noun sizeAdj x = match Degree.minDegree sizeAdj with | none => false | some minD => decide (minD ≤ noun.measure x ∧ noun.standard < noun.measure x)
Instances For
Example: an "idiot" gradable noun with standard at d3.
Equations
- Degree.idiotNoun measure = { name := "idiot", measure := measure, standard := Degree.deg 3 Degree.idiotNoun._proof_2 }
Instances For
"big idiot" = MEASN(idiot)(POS big).
Equations
- Degree.bigIdiot noun = Degree.measN noun Degree.posBig
Instances For
"small idiot" = MEASN(idiot)(POS small).
Equations
- Degree.smallIdiot noun = Degree.measN noun Degree.posSmall
Instances For
Minimum degree satisfying "big" is d5.
Minimum degree satisfying "small" is d0 (the scale minimum).
d0 always satisfies smallness because it is maximally small.
"small idiot" is equivalent to just "idiot" (size adj is vacuous).
"big idiot" is more restrictive than just "idiot".
Equations
- Degree.instReprPerson.repr Degree.Person.george prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Degree.Person.george")).group prec✝
- Degree.instReprPerson.repr Degree.Person.sarah prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Degree.Person.sarah")).group prec✝
- Degree.instReprPerson.repr Degree.Person.floyd prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Degree.Person.floyd")).group prec✝
Instances For
Equations
- Degree.instReprPerson = { reprPrec := Degree.instReprPerson.repr }
Equations
- Degree.instDecidableEqPerson x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
George: d8, Sarah: d4, Floyd: d1.
Equations
Instances For
Instances For
George is a big idiot.
Sarah is an idiot but not a big idiot.
"Small idiot" gives same result as "idiot" (vacuous).