English Scales #
@cite{horn-1972} @cite{kennedy-2007} @cite{chierchia-2013} @cite{fox-2007} @cite{spector-2016}Horn scales for quantifiers, modals, and degrees.
Main definitions #
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fragments.English.Scales.instBEqQuantExpr.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- Fragments.English.Scales.someAll = { items := [Fragments.English.Scales.QuantExpr.some_, Fragments.English.Scales.QuantExpr.all], name := "⟨some, all⟩" }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fragments.English.Scales.instBEqConnExpr.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- Fragments.English.Scales.orAnd = { items := [Fragments.English.Scales.ConnExpr.or_, Fragments.English.Scales.ConnExpr.and_], name := "⟨or, and⟩" }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fragments.English.Scales.instBEqModalExpr.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- Fragments.English.Scales.mightMust = { items := [Fragments.English.Scales.ModalExpr.might, Fragments.English.Scales.ModalExpr.must], name := "⟨might, must⟩" }
Instances For
Equations
- Fragments.English.Scales.possibleNecessary = { items := [Fragments.English.Scales.ModalExpr.possible, Fragments.English.Scales.ModalExpr.necessary], name := "⟨possible, necessary⟩" }
Instances For
Equations
- Fragments.English.Scales.allowedRequired = { items := [Fragments.English.Scales.ModalExpr.allowed, Fragments.English.Scales.ModalExpr.required], name := "⟨allowed, required⟩" }
Instances For
Degree/gradable adjective expressions
- warm : DegreeExpr
- hot : DegreeExpr
- good : DegreeExpr
- excellent : DegreeExpr
- like : DegreeExpr
- love : DegreeExpr
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fragments.English.Scales.instBEqDegreeExpr.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
The ⟨warm, hot⟩ scale
Equations
- Fragments.English.Scales.warmHot = { items := [Fragments.English.Scales.DegreeExpr.warm, Fragments.English.Scales.DegreeExpr.hot], name := "⟨warm, hot⟩" }
Instances For
The ⟨good, excellent⟩ scale
Equations
- Fragments.English.Scales.goodExcellent = { items := [Fragments.English.Scales.DegreeExpr.good, Fragments.English.Scales.DegreeExpr.excellent], name := "⟨good, excellent⟩" }
Instances For
The ⟨like, love⟩ scale
Equations
- Fragments.English.Scales.likeLove = { items := [Fragments.English.Scales.DegreeExpr.like, Fragments.English.Scales.DegreeExpr.love], name := "⟨like, love⟩" }
Instances For
Evaluative adjective expressions for quality judgments.
This scale is used in:
- @cite{yoon-etal-2020} politeness model
- Review/feedback contexts
The scale goes from strongly negative to strongly positive: ⟨terrible, bad, good, amazing⟩
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fragments.English.Scales.instBEqEvalExpr.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
The ⟨terrible, bad, good, amazing⟩ evaluative scale
Equations
- One or more equations did not get rendered due to their size.
Instances For
Negated evaluative: "not terrible", "not amazing", etc.
- notTerrible : NegatedEvalExpr
- notBad : NegatedEvalExpr
- notGood : NegatedEvalExpr
- notAmazing : NegatedEvalExpr
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fragments.English.Scales.instBEqNegatedEvalExpr.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Convert evaluative to negated form
Equations
- Fragments.English.Scales.EvalExpr.terrible.negate = Fragments.English.Scales.NegatedEvalExpr.notTerrible
- Fragments.English.Scales.EvalExpr.bad.negate = Fragments.English.Scales.NegatedEvalExpr.notBad
- Fragments.English.Scales.EvalExpr.good.negate = Fragments.English.Scales.NegatedEvalExpr.notGood
- Fragments.English.Scales.EvalExpr.amazing.negate = Fragments.English.Scales.NegatedEvalExpr.notAmazing
Instances For
Get the base (unnegated) form
Equations
- Fragments.English.Scales.NegatedEvalExpr.notTerrible.base = Fragments.English.Scales.EvalExpr.terrible
- Fragments.English.Scales.NegatedEvalExpr.notBad.base = Fragments.English.Scales.EvalExpr.bad
- Fragments.English.Scales.NegatedEvalExpr.notGood.base = Fragments.English.Scales.EvalExpr.good
- Fragments.English.Scales.NegatedEvalExpr.notAmazing.base = Fragments.English.Scales.EvalExpr.amazing
Instances For
Combined evaluative utterance type (positive + negated).
This is the full utterance set for politeness scenarios: 8 utterances = 4 positive + 4 negated.
- pos : EvalExpr → EvalUtterance
- neg : NegatedEvalExpr → EvalUtterance
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Fragments.English.Scales.instDecidableEqEvalUtterance.decEq (Fragments.English.Scales.EvalUtterance.pos a) (Fragments.English.Scales.EvalUtterance.neg a_1) = isFalse ⋯
- Fragments.English.Scales.instDecidableEqEvalUtterance.decEq (Fragments.English.Scales.EvalUtterance.neg a) (Fragments.English.Scales.EvalUtterance.pos a_1) = isFalse ⋯
Instances For
Equations
- Fragments.English.Scales.instBEqEvalUtterance.beq (Fragments.English.Scales.EvalUtterance.pos a) (Fragments.English.Scales.EvalUtterance.pos b) = (a == b)
- Fragments.English.Scales.instBEqEvalUtterance.beq (Fragments.English.Scales.EvalUtterance.neg a) (Fragments.English.Scales.EvalUtterance.neg b) = (a == b)
- Fragments.English.Scales.instBEqEvalUtterance.beq x✝¹ x✝ = false
Instances For
All evaluative utterances (positive and negated)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Is this a negated utterance?
Equations
Instances For
Compute scalar implicature: x implicates ¬y for each stronger y
Equations
Instances For
Closure Under Conjunction #
A crucial property for exhaustification: whether the alternative set is CLOSED UNDER CONJUNCTION.
@cite{spector-2016} Theorem 9 #
When alternatives are closed under ∧, the two exhaustivity operators exh_mw and exh_ie are EQUIVALENT.
@cite{chierchia-2013} EFCI Analysis #
The puzzle of Free Choice Items depends on alternatives NOT being closed:
- Standard scalar alternatives ⟨some, all⟩: closed under ∧
- Domain alternatives {P(d) | d ∈ D}: NOT closed under ∧
When domain alternatives are NOT closed, exhaustification can lead to contradiction (the EFCI puzzle), which is then resolved by rescue mechanisms.
Insight #
| Alternative Type | Closed? | Exhaustification Result |
|---|---|---|
| Scalar ⟨some, all⟩ | ✓ | Clean SI: "some but not all" |
| Domain {P(d)} | ✗ | Contradiction (needs rescue) |
Conjunction operation on propositions (semantic level).
Equations
- Fragments.English.Scales.PropConj α = (α → α → α)
Instances For
A set of alternatives is closed under conjunction if conjoining any two members yields another member (or a stronger proposition in the set).
For semantic alternatives as propositions, this means: ∀ p q ∈ ALT, p ∧ q ∈ ALT (or is entailed by something in ALT)
- alts : List α
The set of alternatives
- conj : α → α → α
The conjunction operation
- isClosed : Bool
Is it closed?
Witness to non-closure (if not closed)
Instances For
Standard scalar alternatives are closed under conjunction.
For ⟨some, all⟩:
- some ∧ some = some ✓
- some ∧ all = all ✓ (entailed by all)
- all ∧ all = all ✓
Equations
- One or more equations did not get rendered due to their size.
Instances For
Connective alternatives are closed.
For ⟨or, and⟩:
- or ∧ or = or ✓
- or ∧ and = and ✓
- and ∧ and = and ✓
Equations
- One or more equations did not get rendered due to their size.
Instances For
Domain alternatives (singleton domains) are NOT closed under conjunction.
For domain D = {a, b, c} with predicate P:
- Alternatives: {P(a), P(b), P(c)}
- P(a) ∧ P(b) = "exactly a and b" is NOT in the set
- This non-closure causes the EFCI puzzle
Represented symbolically: conjoining "exactly a" with "exactly b" gives a proposition NOT in the original alternative set.
- domain : List Entity
The domain
- isClosed : Bool
Is it closed under conjunction?
- explanation : String
Why not closed?
Instances For
Example: three-element domain shows non-closure.
Equations
Instances For
Closure status affects exhaustification behavior.
- cleanSI : ClosureEffect
- contradiction : ClosureEffect
- needsRescue : ClosureEffect
Instances For
Equations
- Fragments.English.Scales.instBEqClosureEffect.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Predict exhaustification effect from closure status.
Equations
Instances For
Spector's Theorem 9 #
Theorem 9: When ALT is closed under conjunction, exh_mw = exh_ie.
This is proven in Theories/Semantics/Exhaustification/Operators.lean.
The closure property ensures that the different ways of computing "what to exclude" all converge to the same result.
Practical Implication #
For standard scalar alternatives (which ARE closed):
- We can use either exh_mw or exh_ie
- They give identical results
- Simple "negate the stronger alternatives" suffices
For EFCI alternatives (which are NOT closed):
- exh_mw ≠ exh_ie in general
- Innocent exclusion (exh_ie) is preferred
- But even exh_ie can lead to contradiction without rescue
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fragments.English.Scales.scalarClosureSummary = { altType := "Scalar ⟨some, all⟩", isClosed := true, effect := "exh_mw = exh_ie; clean SI", reference := "Spector (2016) Theorem 9" }
Instances For
Equations
- Fragments.English.Scales.domainClosureSummary = { altType := "Domain {P(d) | d ∈ D}", isClosed := false, effect := "exh can contradict; needs rescue", reference := "Chierchia (2013) EFCI" }