[Rud25b]: Embedded Intonation and Quotative Complements #
Rudin, Deniz (2025/2026). "Embedded Intonation and Quotative Complements to Verbs of Speech." Linguistic Inquiry, early access. doi:10.1162/ling.a.554.
Empirical Generalizations #
The paper's central observation: verbs of speech systematically split on whether they accept rising-declarative ("quotative") complements:
| Verb | "p" | "p?" | "p" loud | "p" whisp | that p | that wh / Q |
|---|---|---|---|---|---|---|
| say | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| assert | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ |
| yell | ✓ | ✓ | ✓ | ✗ | ✓ | ✗ |
| whisper | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ |
| ask | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ |
Architecture: One Definition, Not Three #
Following mathlib practice, this file has no parallel formalizations.
Felicitous M V cis the single, model-parameterized definition of felicity: a complement is felicitous with a verb predicate iff there exists a witness (event + performance/proposition) with the right ontological properties.IsRudinModel Mis a class with 30 fields, one per cell. This is the statement of [Rud25b]'s empirical claim — any model is tested against it.rudinModelis the concreteSpeechVerbs ℕ Bool (FBPerformance Bool) (fbOntology Bool)instantiation — Farkas-Bruce-grounded, with verb predicates defined as the postulate RHS so the meaning postulates hold byrfl.instance : IsRudinModel rudinModeldischarges the 30 cells from the postulates + FB ontology axioms.
There is no separate empirical : Verb → Complement → Felicity
function and no separate predicted decision function. The empirical
matrix and its derivation are the same proposition.
Farkas-Bruce Performance Ontology Bridge #
Provides a PerformanceOntology instance whose Commits and
RaisesIssue are derived from Farkas-Bruce discourse-state updates,
rather than stipulated as primitive properties.
The Bridge #
A performance in F&B terms is a discourse-state update determined by
its sentence form (declarative/interrogative), its propositional
content, and its prosodic profile (rising or not, loud/whispered/
neutral). The FBPerformance record bundles exactly the data needed
to compute its discourse effect:
- a non-rising declarative
asserts its content (adds to dcS, pushes issue) - an interrogative
polarQuestions its content (pushes issue, no dcS commit) - a rising declarative pushes its content as an issue (no dcS commit) — the intermediate prosodic case that drives [Rud25b]'s empirical engine
Commits and RaisesIssue are then F&B-grounded predicates: a
performance Commits iff its update adds its content to dcS; it
RaisesIssue iff its update grows the table. Verb-class meaning
postulates in SpeechVerbs see the same Commits / RaisesIssue that
the F&B bridge theorems (in Discourse/Commitment/Table.lean)
reason about — the connection is true by construction, not provable
as an equivalence.
Why this matters #
Without the bridge, Commits is an axiomatic property of performances
in PerformanceOntology — we'd have to say that rising declaratives
don't commit. With the bridge, the F&B update semantics makes them
not commit (the update doesn't touch dcS), and the Demonstration
postulates inherit that fact directly.
Anti-correspondences #
A FBPerformance whose lingmat field is false and rising is
false represents a non-linguistic performance (e.g., karate
gestures). We choose LingMat to disjoin lingmat = true ∨ rising = true so that every rising-declarative performance is automatically
linguistic material — a structural rather than axiomatic fact.
The Volume enumeration (neutral, loud, whispered) makes
loud_not_whispered true by construction: a single field cannot
simultaneously be both values.
Equations
- Discourse.QuotationFBOntology.instDecidableEqVolume x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
A Farkas-Bruce performance: minimal data to compute its discourse update.
Sentence form (declarative / interrogative).
- content : Set W
Propositional content.
- lingmat : Bool
Whether the performance is linguistic material. False allows modeling non-linguistic gestures (the karate-gestures contrast that motivates
LINGMAT). - volume : Volume
Volume profile.
- rising : Bool
Rising-declarative intonation (only meaningful with declarative form, but field is independent for simplicity).
Instances For
The F&B-grounded discourse update for the performance.
- non-rising declarative:
assert(commits + pushes issue) - interrogative:
polarQuestion(pushes issue, no commit) - rising declarative: pushes issue without commit (the intermediate prosodic case [Rud25b] relies on)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whispered: structural property of Volume.
Equations
Instances For
Rising declarative: rising intonation on declarative form.
Equations
- u.RisingDecl = (u.rising = true ∧ u.form = Semantics.Mood.IllocutionaryMood.declarative)
Instances For
F&B-derived Commits: the performance's update adds its content
to dcS (computed from the empty initial state). The assert
branch adds, the rising and interrogative branches do not — so this
matches the structural classification "non-rising declarative".
Equations
Instances For
F&B-derived RaisesIssue: the performance's update grows the
table. All three branches push to the table, so any well-formed
speech act raises an issue. (RESP's discriminating power comes
from ¬ Commits, not from RaisesIssue.)
Equations
- u.RaisesIssue = ((u.update Discourse.Commitment.Table.DiscourseState.empty).table ≠ [])
Instances For
The Farkas-Bruce-grounded performance ontology. Plug into a
SpeechVerbs to get verb-class semantics whose Commits /
RaisesIssue facts come from the F&B discourse-state machinery
rather than free axioms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Structural characterization of Commits: a performance commits
iff it is a non-rising declarative. Derives directly from the F&B
update semantics.
Structural characterization of RaisesIssue: every performance
raises an issue (declarative or interrogative; rising or non-rising).
The discriminating empirical content lives in Commits, not here.
Bridge: when the performance is a non-rising declarative, its update
equals assert s content, so assert_dc_speaker_doxasticContents
applies directly.
Equations
- Rudin2025LI.instDecidableEqVerb x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Rudin2025LI.instReprVerb.repr Rudin2025LI.Verb.say prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Rudin2025LI.Verb.say")).group prec✝
- Rudin2025LI.instReprVerb.repr Rudin2025LI.Verb.assert prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Rudin2025LI.Verb.assert")).group prec✝
- Rudin2025LI.instReprVerb.repr Rudin2025LI.Verb.yell prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Rudin2025LI.Verb.yell")).group prec✝
- Rudin2025LI.instReprVerb.repr Rudin2025LI.Verb.whisper prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Rudin2025LI.Verb.whisper")).group prec✝
- Rudin2025LI.instReprVerb.repr Rudin2025LI.Verb.ask prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Rudin2025LI.Verb.ask")).group prec✝
Instances For
Equations
- Rudin2025LI.instReprVerb = { reprPrec := Rudin2025LI.instReprVerb.repr }
Equations
- Rudin2025LI.instInhabitedVerb = { default := Rudin2025LI.instInhabitedVerb.default }
Complement types in the Rudin matrix.
- quoteDecl : Complement
- quoteRising : Complement
- quoteLoud : Complement
- quoteWhispered : Complement
- thatProp : Complement
- thatQuestion : Complement
Instances For
Equations
- Rudin2025LI.instDecidableEqComplement x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Rudin2025LI.instReprComplement = { reprPrec := Rudin2025LI.instReprComplement.repr }
Equations
Selector: map a Verb enum to the corresponding model predicate.
Equations
Instances For
A complement is felicitous with a verb predicate in a given model iff there exists a witness — an event-and-performance pair (for quotative complements) or an event-and-content pair (for that-clauses) — satisfying the ontological constraints encoded by the complement type.
Quotative complements constrain the REENACTed performance:
quoteDecl requires a committing linguistic performance,
quoteRising a rising declarative, quoteLoud/quoteWhispered
a committing performance with the marked volume.
Propositional complements constrain the CONTENT denotation:
thatProp requires propositional content, thatQuestion requires
question content.
Verb-class felicity is then derived: a verb's postulates impose constraints on REENACTed performances (or CONTENT denotations); if those constraints conflict with the complement's, no witness exists and the cell is infelicitous.
Equations
- Rudin2025LI.Felicitous M V Rudin2025LI.Complement.quoteDecl = ∃ (e : Event Time) (u : Perf), V e ∧ M.REENACT e u ∧ Ω.LINGMAT u ∧ Ω.Commits u
- Rudin2025LI.Felicitous M V Rudin2025LI.Complement.quoteRising = ∃ (e : Event Time) (u : Perf), V e ∧ M.REENACT e u ∧ Ω.RisingDecl u
- Rudin2025LI.Felicitous M V Rudin2025LI.Complement.quoteLoud = ∃ (e : Event Time) (u : Perf), V e ∧ M.REENACT e u ∧ Ω.LINGMAT u ∧ Ω.Commits u ∧ Ω.Loud u
- Rudin2025LI.Felicitous M V Rudin2025LI.Complement.quoteWhispered = ∃ (e : Event Time) (u : Perf), V e ∧ M.REENACT e u ∧ Ω.LINGMAT u ∧ Ω.Commits u ∧ Ω.Whispered u
- Rudin2025LI.Felicitous M V Rudin2025LI.Complement.thatProp = ∃ (e : Event Time) (p : SemObj), V e ∧ M.CONTENT e p ∧ M.isProposition p
- Rudin2025LI.Felicitous M V Rudin2025LI.Complement.thatQuestion = ∃ (e : Event Time) (q : SemObj), V e ∧ M.CONTENT e q ∧ M.isQuestion q
Instances For
A SpeechVerbs model satisfies [Rud25b]'s empirical
claims about English speech verbs. The 30 fields are exactly the
cells of the verb × complement felicity matrix.
This class IS the empirical claim. There is no separate empirical
function whose values must be reconciled with model predictions —
a model satisfies these facts or it does not.
- say_quoteDecl : Felicitous M M.SAY Complement.quoteDecl
- say_quoteRising : Felicitous M M.SAY Complement.quoteRising
- say_quoteLoud : Felicitous M M.SAY Complement.quoteLoud
- say_quoteWhispered : Felicitous M M.SAY Complement.quoteWhispered
- say_thatProp : Felicitous M M.SAY Complement.thatProp
- say_thatQuestion : ¬Felicitous M M.SAY Complement.thatQuestion
- assert_quoteDecl : Felicitous M M.ASSERT Complement.quoteDecl
- assert_quoteRising : ¬Felicitous M M.ASSERT Complement.quoteRising
- assert_quoteLoud : Felicitous M M.ASSERT Complement.quoteLoud
- assert_quoteWhispered : Felicitous M M.ASSERT Complement.quoteWhispered
- assert_thatProp : Felicitous M M.ASSERT Complement.thatProp
- assert_thatQuestion : ¬Felicitous M M.ASSERT Complement.thatQuestion
- yell_quoteDecl : Felicitous M M.YELL Complement.quoteDecl
- yell_quoteRising : Felicitous M M.YELL Complement.quoteRising
- yell_quoteLoud : Felicitous M M.YELL Complement.quoteLoud
- yell_quoteWhispered : ¬Felicitous M M.YELL Complement.quoteWhispered
- yell_thatProp : Felicitous M M.YELL Complement.thatProp
- yell_thatQuestion : ¬Felicitous M M.YELL Complement.thatQuestion
- whisper_quoteDecl : Felicitous M M.WHISPER Complement.quoteDecl
- whisper_quoteRising : Felicitous M M.WHISPER Complement.quoteRising
- whisper_quoteLoud : ¬Felicitous M M.WHISPER Complement.quoteLoud
- whisper_quoteWhispered : Felicitous M M.WHISPER Complement.quoteWhispered
- whisper_thatProp : Felicitous M M.WHISPER Complement.thatProp
- whisper_thatQuestion : ¬Felicitous M M.WHISPER Complement.thatQuestion
- ask_quoteDecl : ¬Felicitous M M.ASK Complement.quoteDecl
- ask_quoteRising : Felicitous M M.ASK Complement.quoteRising
- ask_quoteLoud : ¬Felicitous M M.ASK Complement.quoteLoud
- ask_quoteWhispered : ¬Felicitous M M.ASK Complement.quoteWhispered
- ask_thatProp : ¬Felicitous M M.ASK Complement.thatProp
- ask_thatQuestion : Felicitous M M.ASK Complement.thatQuestion
Instances
We now build a concrete SpeechVerbs model over FBPerformance Bool
with fbOntology as its performance ontology, and show it satisfies
IsRudinModel. The model uses ℕ as the time type and Bool as the
semantic-object type (true ↦ proposition, false ↦ question).
Verb predicates are defined as the postulate RHS, so the meaning
postulates hold by rfl. The discriminator for verb classes is
runtime.start (0 = SAY, 1 = ASSERT, 2 = YELL, 3 = WHISPER, 4 = ASK).
REENACT and CONTENT are defined per verb class to give the right
witnesses and exclusions.
A canonical event for each verb class, indexed by runtime.start.
Equations
- Rudin2025LI.E n = { runtime := { fst := n, snd := n, fst_le_snd := ⋯ }, sort := Features.Dynamicity.dynamic }
Instances For
The REENACT relation: per verb-class events have different REENACT
targets, chosen so the postulates' universal quantifiers reduce to
obvious tautologies (e.g., for SAY events, REENACT only relates to
LINGMAT performances, so SAY's postulate ∀u, REENACT → LINGMAT
is vacuously true).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The CONTENT relation: SAY-class events take propositional (true) content; ASK-class events take question (false) content; other events have no propositional content.
Equations
- Rudin2025LI.rudinContent e b = match e.runtime.toProd.1 with | 0 => b = true | 1 => b = true | 2 => b = true | 3 => b = true | 4 => b = false | x => False
Instances For
Verb predicates: defined as the postulate RHS so the iff-axioms
hold by rfl.
Equations
- Rudin2025LI.rudinSay e = ∀ (u : Discourse.QuotationFBOntology.FBPerformance Bool), Rudin2025LI.rudinReenact e u → (Discourse.QuotationFBOntology.fbOntology Bool).LINGMAT u
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Rudin2025LI.rudinAsk e = ∀ (u : Discourse.QuotationFBOntology.FBPerformance Bool), Rudin2025LI.rudinReenact e u → (Discourse.QuotationFBOntology.fbOntology Bool).RESP u
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
A non-LINGMAT RESP performance: a non-linguistic, non-rising
interrogative (e.g., a wordless interrogative gesture). Its
update is polarQuestion, which pushes an issue without
committing. Used to falsify SAY for ASK-class events.
Equations
- Rudin2025LI.respNonLingmat = { form := Semantics.Mood.IllocutionaryMood.interrogative, content := fun (x : Bool) => true = true, lingmat := false }
Instances For
Witness performances #
Concrete FBPerformance witnesses with named property proofs. Each
witness pins down the exact field configuration that makes a particular
cell of the matrix felicitous, and is referenced both in rudinModel's
postulate proofs and in the IsRudinModel instance discharge.
A neutral committing declarative performance.
Equations
- Rudin2025LI.committingDecl = { form := Semantics.Mood.IllocutionaryMood.declarative, content := fun (x : Bool) => true = true }
Instances For
A loud committing declarative performance.
Equations
- Rudin2025LI.committingLoud = { form := Semantics.Mood.IllocutionaryMood.declarative, content := fun (x : Bool) => true = true, volume := Discourse.QuotationFBOntology.Volume.loud }
Instances For
A whispered committing declarative performance.
Equations
- Rudin2025LI.committingWhispered = { form := Semantics.Mood.IllocutionaryMood.declarative, content := fun (x : Bool) => true = true, volume := Discourse.QuotationFBOntology.Volume.whispered }
Instances For
A rising-declarative performance (RESP, not committing).
Equations
- Rudin2025LI.risingDecl = { form := Semantics.Mood.IllocutionaryMood.declarative, content := fun (x : Bool) => true = true, rising := true }
Instances For
A loud rising-declarative performance.
Equations
- Rudin2025LI.risingLoud = { form := Semantics.Mood.IllocutionaryMood.declarative, content := fun (x : Bool) => true = true, volume := Discourse.QuotationFBOntology.Volume.loud, rising := true }
Instances For
A whispered rising-declarative performance.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Rudin model: a concrete SpeechVerbs instantiation over
FBPerformance Bool with fbOntology as its performance ontology.
Each meaning postulate holds by rfl since the verb predicates
are defined as the postulate RHS.
Equations
- One or more equations did not get rendered due to their size.
Instances For
All 30 cells of [Rud25b]'s empirical matrix are derived from the FB-grounded model + the SpeechVerbs postulates.
Classify an English VerbEntry into the Rudin verb taxonomy.
Returns none for verbs that don't fall into the matrix (e.g.,
tell requires a recipient; think is not a speech act).
Reads directly off Fragment fields — speechActVerb,
takesQuestionBase, levinClass, and surface form — so the
classification stays in sync with Fragment edits.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Per-entry classification witnesses #
These examples pin individual Fragment verbs to the Rudin taxonomy.
Renaming or reclassifying any of these verbs in the Fragment will
break exactly the relevant witness, surfacing the inconsistency.