A scalar implicature derivation attempt.
Records whether the implicature arises and why/why not.
- term : String
The scalar term used
- alternative : String
The potential stronger alternative
- polarity : Core.NaturalLogic.ContextPolarity
The context polarity
- alternativeIsStronger : Bool
Does the alternative count as stronger in this context?
- implicatureArises : Bool
Does the implicature arise?
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Attempt to derive a scalar implicature.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example: "some" → "not all" in UE context
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example: "some" → "not all" blocked in DE context
Equations
Instances For
Theorem: DE Blocks "Some → Not All"
In UE context, the implicature arises. In DE context, the implicature is blocked.
Theorem: In DE, "All" Has Implicatures
In DE context, "all" can implicate "not some" (reversed!).
Equations
Instances For
Two types of inferences from disjunction.
Exclusivity (scalar): "A or B" → "not (A and B)" Derived from Horn set ⟨or, and⟩.
Ignorance (non-scalar): "A or B" → "speaker doesn't know which" Derived from competence failure for individual disjuncts.
- exclusivity : DisjunctionInference
- ignorance : DisjunctionInference
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
Analyze a simple disjunction in UE context.
Both exclusivity AND ignorance can arise together.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem: Disjunction in UE Has Exclusivity
Theorem: Both Inferences Are Compatible
"A or B" can simultaneously implicate:
- "not both" (exclusivity)
- "speaker doesn't know which" (ignorance)
The long disjunction problem (Geurts p.61-64).
For "A or B or C", the alternatives are not just {A, B, C}. We need ALL conjunctive closures:
- Core: A, B, C
- Binary: A∧B, A∧C, B∧C
- Full: A∧B∧C
The substitution method (replacing "or" with "and") fails to generate all necessary alternatives for n > 2.
The disjuncts
Core alternatives (individual disjuncts)
Derived alternatives (conjunctions)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Generate the full conjunction of all terms.
Equations
- NeoGricean.ScalarImplicatures.fullConjunction terms = "∧".intercalate terms
Instances For
Analyze a long disjunction, computing all alternatives.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example: Three-way disjunction
"A or B or C" has alternatives:
- Core: A, B, C
- Derived: A∧B, A∧C, B∧C, A∧B∧C
Equations
Instances For
Theorem: Three-way disjunction has 3 core alternatives
Theorem: Three-way disjunction has 4 derived alternatives
The 4 derived alternatives are: A∧B, A∧C, B∧C, A∧B∧C
Theorem: Total alternatives for 3-way = 7
Core (3) + Derived (4) = 7 alternatives
The simple substitution method: replace "or" with "and".
For "A or B": substitute to get "A and B" ✓ For "A or B or C": substitute to get "A and B and C" ✓ But MISSES: "A and B", "A and C", "B and C" ✗
This is why we need closure under conjunction.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compare substitution method to full closure.
Equations
Instances For
Theorem: Substitution Works for n=2
For "A or B", substitution gives "A and B" which is the only alternative.
Theorem: Substitution Fails for n=3
For "A or B or C", substitution gives 1 alternative but we need 4 (A∧B, A∧C, B∧C, A∧B∧C).
Complete scalar implicature derivation result.
- term : String
The original utterance's scalar term
- hornSet : Alternatives.HornSet String
The Horn set used
- context : Alternatives.SentenceContext
The context
Stronger alternatives found
Implicatures derived (negations of stronger alternatives)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Derive all scalar implicatures for a term.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example: Complete derivation for "some" in UE context
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem: "some" in UE derives "not(most)" and "not(all)"
Example: Complete derivation for "some" in DE context
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem: "some" in DE derives NO implicatures
Map scale membership to the appropriate HornSet and EntailmentChecker.
Uses string-based versions for interface with SemDeriv, but these are backed by type-safe implementations grounded in Core.Scale.
Equations
- NeoGricean.ScalarImplicatures.getScaleInfo (Semantics.Montague.ScaleMembership.quantifier pos) = (NeoGricean.Alternatives.quantifierSetString, NeoGricean.Alternatives.quantifierCheckerString)
- NeoGricean.ScalarImplicatures.getScaleInfo (Semantics.Montague.ScaleMembership.connective pos) = (NeoGricean.Alternatives.connectiveSetString, NeoGricean.Alternatives.connectiveCheckerString)
- NeoGricean.ScalarImplicatures.getScaleInfo (Semantics.Montague.ScaleMembership.modal pos) = (NeoGricean.Alternatives.connectiveSetString, NeoGricean.Alternatives.connectiveCheckerString)
Instances For
Create a SentenceContext from a ContextPolarity.
Equations
- One or more equations did not get rendered due to their size.
- NeoGricean.ScalarImplicatures.toSentenceContext Core.NaturalLogic.ContextPolarity.upward = { polarity := Core.NaturalLogic.ContextPolarity.upward, description := "Upward-entailing context" }
- NeoGricean.ScalarImplicatures.toSentenceContext Core.NaturalLogic.ContextPolarity.downward = { polarity := Core.NaturalLogic.ContextPolarity.downward, description := "Downward-entailing context" }
Instances For
Derive scalar implicatures from a semantic derivation.
This is the key function that connects syntax to pragmatics:
- Takes a SemDeriv.Derivation (produced by any syntax theory)
- Extracts scalar items from the derivation
- For each scalar item, derives implicatures based on its scale
- Returns all derived implicatures
Syntax-agnostic: Works with CCG, HPSG, Minimalism, or any theory that implements the SemDeriv interface.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Check if any implicature in the results negates a given alternative.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example: "some students sleep" via CCG
Using the CCG derivation from CCG/Interpret.lean:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem: "some students sleep" derives "not(all)"
This is the key milestone theorem: starting from a semantic derivation (which could come from CCG), NeoGricean pragmatics derives "not all".
Theorem: "some students sleep" derives "not(most)" as well
Example: "every student sleeps" in UE
"every" is at the top of the quantifier scale, so no stronger alternatives.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem: "every student sleeps" has no implicatures
Since "every/all" is the strongest quantifier, there are no stronger alternatives to negate.
Example: "some students sleep" in DE context
In a downward-entailing context (e.g., "No one thinks some students sleep"), the "not all" implicature is blocked.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem: "some" in DE has no "not all" implicature
Downward-entailing contexts block the standard scalar implicature.
Derived: Defaultism predicts high neutral rate
Derived: Contextualism predicts moderate neutral rate
Derived: Only contextualism predicts task effect
Derived: The two variants make different predictions
This is what makes them empirically distinguishable.
A Horn scale with semantic content.
The key property: stronger entails weaker but not vice versa.
This asymmetry drives scalar implicatures via exhaustification.
- name : String
Name of the scale
- weakerTerm : String
The weaker scalar term (e.g., "some")
- strongerTerm : String
The stronger scalar term (e.g., "all")
- weaker : Prop' World
Semantic denotation of weaker term
- stronger : Prop' World
Semantic denotation of stronger term
Stronger entails weaker
Weaker does not entail stronger (non-trivial scale)
Instances For
A Hurford violation is rescued iff after exhaustifying the weaker disjunct, the entailment no longer holds.
Since the structure tracks that either A⊆B or B⊆A, rescue means exhaustification breaks whichever entailment held.
Equations
Instances For
For cases where B⊆A (stronger entails weaker), rescue requires exh(B) ⊄ A.
This is the relevant check when the original entailment goes from B to A.
Equations
Instances For
Fox & Spector's prediction: weak-first is felicitous because exh(weak) can break the entailment to strong.
Equations
Instances For
The asymmetry: felicitous iff (weak-first AND exh breaks entailment). Strong-first can't be rescued because exh(strong) is vacuous.
Equations
- s.predictedFelicitous = (s.weakerFirst = true ∧ s.exhBreaksEntailment)
Instances For
Worlds for quantifier scale: number satisfying predicate (0 to 3).
Equations
Instances For
"Some Ps are Q" = at least one.
Equations
- NeoGricean.ScalarImplicatures.someQ w = (↑w ≥ 1)
Instances For
The some/all Horn scale with semantic content.
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
"A or B" (inclusive).
Equations
- NeoGricean.ScalarImplicatures.orConn NeoGricean.ScalarImplicatures.ConnWorld.neither = False
- NeoGricean.ScalarImplicatures.orConn NeoGricean.ScalarImplicatures.ConnWorld.onlyA = True
- NeoGricean.ScalarImplicatures.orConn NeoGricean.ScalarImplicatures.ConnWorld.onlyB = True
- NeoGricean.ScalarImplicatures.orConn NeoGricean.ScalarImplicatures.ConnWorld.both = True
Instances For
"A and B".
Equations
- NeoGricean.ScalarImplicatures.andConn NeoGricean.ScalarImplicatures.ConnWorld.neither = False
- NeoGricean.ScalarImplicatures.andConn NeoGricean.ScalarImplicatures.ConnWorld.onlyA = False
- NeoGricean.ScalarImplicatures.andConn NeoGricean.ScalarImplicatures.ConnWorld.onlyB = False
- NeoGricean.ScalarImplicatures.andConn NeoGricean.ScalarImplicatures.ConnWorld.both = True
Instances For
The or/and Horn scale with semantic content.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Worlds for modal scale: accessibility relation outcomes.
- none : ModalWorld
- some : ModalWorld
- all : ModalWorld
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
"Possibly P" = at least one accessible world has P.
Equations
Instances For
"Necessarily P" = all accessible worlds have P.
Equations
Instances For
Necessary entails possible.
Possible does not entail necessary.
The possible/necessary Horn scale.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prediction: exh(some) → ¬all.
At any world where exhIE(some) holds, "all" is false. This derives the implicature "some → not all".
Prediction: exh(or) → ¬and.
At any world where exhIE(or) holds, "and" is false. This derives the implicature "or → not both".
Prediction: exh(possible) → ¬necessary.
Semantic structure for "some or all" (rescued Hurford case).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prediction: "some or all" is rescued because exh(some) doesn't entail all.
World type for hyponymy: 3 regions of people
- notAmerican : HyponymWorld
- americanOnly : HyponymWorld
- californian : HyponymWorld
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
"American" predicate
Equations
- NeoGricean.ScalarImplicatures.americanP NeoGricean.ScalarImplicatures.HyponymWorld.notAmerican = False
- NeoGricean.ScalarImplicatures.americanP NeoGricean.ScalarImplicatures.HyponymWorld.americanOnly = True
- NeoGricean.ScalarImplicatures.americanP NeoGricean.ScalarImplicatures.HyponymWorld.californian = True
Instances For
"Californian" predicate
Equations
Instances For
Californian entails American (hyponymy)
Semantic structure for "American or Californian" (true Hurford violation).
Key: The alternative set contains NO scalar alternatives beyond the disjuncts. Hyponymy is a fixed lexical relation, not a scalar implicature.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Key Lemma: With no scalar alternatives, exh is vacuous.
exhIE {A, B} B = B when B is the strongest in the set. Since californianP ⊆ americanP, californianP has no proper stronger alternative.
The proof shows that exh(californianP) still entails americanP because:
- The only alternatives are {americanP, californianP}
- californianP is already the strongest term (it entails americanP)
- So exh(californianP) = californianP (no strengthening possible)
- And californianP ⊆ americanP remains
Prediction: "American or Californian" is not rescued.
Since exh(californianP) ⊆ americanP (the ORIGINAL entailment is preserved), the disjunction remains redundant → infelicitous.
For hyponymy cases like this, the entailment is B⊆A (californian ⊆ american),
so we use isRescuedFromBA which checks whether exh(B) ⊄ A.
Semantic structure for "A or B, or both" (weak-first Singh case).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Semantic structure for "both, or A or B" (strong-first Singh case).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prediction: "A or B, or both" (weak-first) is predicted felicitous.
Prediction: "both, or A or B" (strong-first) is not predicted felicitous.
Even though exh breaks entailment, strong-first fails because exh(strong) is vacuous (nothing to exclude).
Main Result: Theory correctly predicts all three Horn scale implicatures.
For each scale, exh(weaker) → ¬stronger.
Main Result: Theory correctly predicts Singh asymmetry.
Weak-first is felicitous, strong-first is not.
NeoGricean's internal representation for implicature analysis.
Bundles the Standard Recipe result with context information.
- result : StandardRecipeResult
The Standard Recipe result (weak/strong implicature, competence)
- polarity : Core.NaturalLogic.ContextPolarity
Context polarity (upward vs downward entailing)
Position of the scalar item (if any)
- params : NeoGriceanParams
Which variant of NeoGricean (for baseline rate)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Find the position of a scalar item in a word list
Equations
Instances For
Determine context polarity from words. Simplified: checks for negation markers.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Parse words into NeoGricean structure.
For now, uses a simplified analysis:
- Finds scalar item position
- Determines polarity from negation markers
- Assumes competence holds and derives strong implicature in UE
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.
NeoGricean predicts DE blocking
NeoGricean predicts task effect (under contextualism)
NeoGricean baseline rate is 35% (Geurts contextualism)
Example: "some students sleep" in UE context
Equations
- NeoGricean.someStudentsSleepNG = { result := NeoGricean.applyStandardRecipe NeoGricean.BeliefState.disbelief, polarity := Core.NaturalLogic.ContextPolarity.upward, scalarPosition := some 0 }
Instances For
Example: "some students sleep" in DE context (under negation)
Equations
- NeoGricean.someStudentsSleepDE = { result := NeoGricean.applyStandardRecipe NeoGricean.BeliefState.noOpinion, polarity := Core.NaturalLogic.ContextPolarity.downward, scalarPosition := some 0 }
Instances For
In UE, implicature is triggered
In DE, implicature is blocked
Wrong position returns absent