Martínez Vera (2026) #
Martínez Vera analyzes the Saraguro Kichwa enclitic =mi as a focus marker. A sentence with
=mi and scope p presupposes an alternative to p that is highlighted in the context and that,
exhaustified relative to the alternatives, entails ¬p; a proposition is highlighted when a move
on record addresses the question under discussion with it. A declarative with the direct
evidential -rka is an assertion and addresses that question by p, while one with the
reportative -shka presents p and addresses it by p or ¬p, so only the latter can be
confirmed with =mi. In a correction the highlighted proposition is the corrected one, and
exhaustifying it relative to the alternatives of the constituent =mi marks yields ¬p.
Main definitions #
withEvidential: an evidential applied to a sentence.Move.assert,Move.present,Move.declare: the illocutionary operators, and the one a declarative with a given evidential performs.Highlighted,MiDefined: highlighting, and the presupposition of =mi.
Main statements #
miDefined_univ_iff: for =mi on a clause exhaustification is vacuous, and =mi needs a highlighted proposition entailing¬p.miDefined_update_present,miDefined_update_assert_iff: presentingplicenses =mi onp, and asserting it does not.miDefined_of_isInnocentlyExcludable: corrections.judgment_eq_acceptable_iff_miDefined,judgment_eq_acceptable_iff_nonempty: an example is acceptable exactly when the analysis licenses its =mi, or its speaker stays consistent.
Implementation notes #
The paper's composition rule I is the bind of TwoDim, whose ⊤ plays the empty not-at-issue
layer. An illocutionary operator is the move it puts on record: its speaker's commitments,
without their addressee, and the propositions by which it addresses the question under
discussion, addressing being partial answerhood. Exhaustification is innocent exclusion; the
paper glosses the alternatives it may deny as those entailing the prejacent, under which a
correction would not entail ¬p. Highlighting is the paper's notion, not the compositional
highlighting of Semantics/Questions/Highlighting.lean. The operator name present is
Faller's. The examples are evaluated in a model whose worlds are sets of events. The paper's
survey of =mi across Quechuan, after Faller, Sánchez, Tellings, Grzech and Bendezú, finds the
analyses hard to compare at present and is not formalized.
TODO #
- The paper describes =mi in (27d) as marking the verb; with alternatives varying the verb phrase, which include buying a pig, (37) would license it.
- Footnote 7's use of -rka by an authority without direct perception, and the past tense of -rka and -shka, are not modelled.
References #
Evidentials #
evidence ev s e p is the not-at-issue proposition of the evidential e ((40b), (42b)),
that s has evidence for p from a source e covers, where ev s π p is the set of worlds in
which s has evidence of kind π for p. For -rka this is direct perceptual evidence and for
-shka reportative evidence.
Equations
- MartinezVera2026.evidence ev s e p = {w : W | ∃ π ∈ e.covers, w ∈ ev s π p}
Instances For
withEvidential ev s e S applies the evidential e to the sentence S by rule I ((40a),
(42a)), keeping the scope at issue and adding the speaker's evidence for it not at issue.
Equations
- MartinezVera2026.withEvidential ev s e S = do let p ← S { atIssue := p, notAtIssue := fun (x : W) => x ∈ MartinezVera2026.evidence ev s e p }
Instances For
Moves and contexts #
A move on the conversational record has a speaker, the propositions the speaker commits to, and the propositions by means of which it addresses the question under discussion.
- speaker : A
The speaker.
- commitments : Set (Set W)
The propositions the speaker commits to.
- addressers : Set (Set W)
The propositions by means of which the move addresses the question under discussion.
Instances For
The operator assert (39) commits the speaker to the scope, by means of which she addresses
the question under discussion, and to the not-at-issue content.
Equations
- MartinezVera2026.Move.assert s S = { speaker := s, commitments := {S.atIssue, Set.ofPred S.notAtIssue}, addressers := {S.atIssue} }
Instances For
The operator present (41) brings the scope to the addressee's attention, addresses the
question under discussion by means of it or its negation, and commits the speaker only to the
not-at-issue content.
Equations
- MartinezVera2026.Move.present s S = { speaker := s, commitments := {Set.ofPred S.notAtIssue}, addressers := {S.atIssue, S.atIssueᶜ} }
Instances For
A question biased toward q steers the exchange toward adopting q, and so addresses the
question under discussion by means of it (§4.2).
Equations
- MartinezVera2026.Move.biasedQuestion s q = { speaker := s, commitments := ∅, addressers := {q} }
Instances For
A declarative with a direct evidential is asserted and one with a reportative is presented
((40c), (42c)), and declare s e S is the move of a declarative with evidential e, if the paper
analyzes e.
Equations
- One or more equations did not get rendered due to their size.
Instances For
c.declare s e S puts on record the move of a declarative with evidential e, if the paper
analyzes e.
Equations
- c.declare s e S = (Option.map c.update (MartinezVera2026.Move.declare s e S)).getD c
Instances For
The commitment state of the record commits the speaker of each move to each of its commitments.
Equations
- c.commitments = {k : Commitment A W | ∃ m ∈ c.moves, ∃ p ∈ m.commitments, k = Commitment.commit m.speaker p}
Instances For
c.contextSetOf s is the set of worlds compatible with the commitments of s.
Equations
Instances For
A proposition is highlighted (38) when a move on record addresses the question under discussion by means of it and it partially answers that question.
Equations
- MartinezVera2026.Highlighted c q = ((∃ m ∈ c.moves, q ∈ m.addressers) ∧ c.qud.PartiallyAnsweredBy q)
Instances For
The presupposition of =mi (37) holds when some alternative to the scope p is highlighted
and, exhaustified relative to the alternatives, entails ¬p. Where defined, =mi is the
identity on its argument.
Equations
- MartinezVera2026.MiDefined c ALT p = ∃ q ∈ ALT, MartinezVera2026.Highlighted c q ∧ Exhaustification.exhIE ALT q ⊆ pᶜ
Instances For
The witness of (37) differs from the scope, as the paper's prose requires, whenever its exhaustification is consistent.
When nothing on record addresses the question under discussion, =mi is undefined, as out of the blue ((7), (28)) and after an unbiased polar question (8) or a constituent question (29).
For clausal =mi the alternatives are all propositions ((44d), (51d)), exhaustification is
vacuous, and (37) asks for a highlighted proposition entailing ¬p.
A highlighted ¬p licenses clausal =mi on p ((43), (44)).
Presenting p licenses clausal =mi on p ((48), (50), (51)), wherever ¬p addresses the
question under discussion.
Asserting a consistent p adds nothing that licenses clausal =mi on p ((47), (49)).
A highlighted alternative that innocently excludes the scope licenses =mi ((45), (46)), as exhaustifying "Juan bought a cow" relative to what Juan might have bought denies that he bought a pig.
When no highlighted proposition is among the alternatives, =mi is undefined, as in a correction of the object with =mi on the subject or the verb ((27c), (27d)).
Commitments #
A speaker committed to a proposition and to its negation is inconsistent.
Asserting p and then ¬p is inconsistent (18a), as is the -rka counterpart of footnote 9,
where =mi on ¬p is licensed but the speaker contradicts herself.
Presenting p and then asserting ¬p is consistent wherever the speaker's evidence for p
is compatible with ¬p (19a).
Denying the evidence a declarative commits to is inconsistent, after an assertion (18b) or a presentation (19b).
Confirming a presented p with =mi asserts it, so denying it afterwards is inconsistent
(footnote 10).
The examples #
The examples are evaluated in a model whose worlds are sets of events: an event fixes a value at
each constituent site of the scope sentence, a world is the set of events that happened, and the
question under discussion asks which event happened. The scope is that the scope event happened,
and a correction asserts that its variant at the contrasted site did. The propositions in play
are the scope, its negation and the variants, named by Answer; miDefined_iff reduces the
presupposition of =mi in each example's context to a check on these names, and
judgment_eq_acceptable_iff_miDefined compares it with the paper's judgments.
Equations
- MartinezVera2026.instDecidableEqSite x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
An event fixes a value at each site.
Equations
- MartinezVera2026.Event = (MartinezVera2026.Site → Bool)
Instances For
happened e is the proposition that the event e happened.
Equations
- MartinezVera2026.happened e = {w : Set MartinezVera2026.Event | e ∈ w}
Instances For
vary k b is the scope event with the value at k set to b, the scope event itself when
b is true.
Equations
- MartinezVera2026.vary k b = Function.update (fun (x : MartinezVera2026.Site) => true) k b
Instances For
Equations
- MartinezVera2026.instDecidableEqAnswer.decEq MartinezVera2026.Answer.scope MartinezVera2026.Answer.scope = isTrue ⋯
- MartinezVera2026.instDecidableEqAnswer.decEq MartinezVera2026.Answer.scope MartinezVera2026.Answer.negation = isFalse MartinezVera2026.instDecidableEqAnswer.decEq._proof_3
- MartinezVera2026.instDecidableEqAnswer.decEq MartinezVera2026.Answer.scope (MartinezVera2026.Answer.variant k) = isFalse ⋯
- MartinezVera2026.instDecidableEqAnswer.decEq MartinezVera2026.Answer.negation MartinezVera2026.Answer.scope = isFalse MartinezVera2026.instDecidableEqAnswer.decEq._proof_5
- MartinezVera2026.instDecidableEqAnswer.decEq MartinezVera2026.Answer.negation MartinezVera2026.Answer.negation = isTrue ⋯
- MartinezVera2026.instDecidableEqAnswer.decEq MartinezVera2026.Answer.negation (MartinezVera2026.Answer.variant k) = isFalse ⋯
- MartinezVera2026.instDecidableEqAnswer.decEq (MartinezVera2026.Answer.variant k) MartinezVera2026.Answer.scope = isFalse ⋯
- MartinezVera2026.instDecidableEqAnswer.decEq (MartinezVera2026.Answer.variant k) MartinezVera2026.Answer.negation = isFalse ⋯
- MartinezVera2026.instDecidableEqAnswer.decEq (MartinezVera2026.Answer.variant a) (MartinezVera2026.Answer.variant b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
a.prop is the proposition the answer a names.
Equations
- MartinezVera2026.Answer.scope.prop = MartinezVera2026.happened fun (x : MartinezVera2026.Site) => true
- MartinezVera2026.Answer.negation.prop = (MartinezVera2026.happened fun (x : MartinezVera2026.Site) => true)ᶜ
- (MartinezVera2026.Answer.variant k).prop = MartinezVera2026.happened (MartinezVera2026.vary k false)
Instances For
The question under discussion of the model asks which event happened.
Equations
Instances For
The alternatives of =mi on a clause are all propositions ((44d), (51d)), and those of =mi on the constituent at a site are the variants at that site ((46d)).
Equations
- MartinezVera2026.alternatives none = Set.univ
- MartinezVera2026.alternatives (some k) = Set.range fun (b : Bool) => MartinezVera2026.happened (MartinezVera2026.vary k b)
Instances For
The model's speaker has evidence of every kind for everything.
Equations
- MartinezVera2026.evModel x✝² x✝¹ x✝ = Set.univ
Instances For
sentence s e p is the declarative of s with evidential e and scope p.
Equations
- MartinezVera2026.sentence s e p = MartinezVera2026.withEvidential MartinezVera2026.evModel s e (pure p)
Instances For
A Prior is the discourse before a =mi sentence as the paper describes its examples. It is
empty, an assertion of the negated scope (6), a debate between the scope and its negation ((9),
(11)), a declarative of the scope with -rka (20) or -shka (21), or a correction asserting a
variant ((22)–(30)).
- none : Prior
- assertedNegation : Prior
- debate : Prior
- direct : Prior
- reportative : Prior
- correction (k : Site) : Prior
Instances For
Equations
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.none MartinezVera2026.Prior.none = isTrue ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.none MartinezVera2026.Prior.assertedNegation = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_3
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.none MartinezVera2026.Prior.debate = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_4
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.none MartinezVera2026.Prior.direct = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_5
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.none MartinezVera2026.Prior.reportative = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_6
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.none (MartinezVera2026.Prior.correction k) = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.assertedNegation MartinezVera2026.Prior.none = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_8
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.assertedNegation MartinezVera2026.Prior.assertedNegation = isTrue ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.assertedNegation MartinezVera2026.Prior.debate = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_9
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.assertedNegation MartinezVera2026.Prior.direct = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_10
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.assertedNegation MartinezVera2026.Prior.reportative = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_11
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.assertedNegation (MartinezVera2026.Prior.correction k) = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.debate MartinezVera2026.Prior.none = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_13
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.debate MartinezVera2026.Prior.assertedNegation = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_14
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.debate MartinezVera2026.Prior.debate = isTrue ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.debate MartinezVera2026.Prior.direct = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_15
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.debate MartinezVera2026.Prior.reportative = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_16
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.debate (MartinezVera2026.Prior.correction k) = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.direct MartinezVera2026.Prior.none = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_18
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.direct MartinezVera2026.Prior.assertedNegation = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_19
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.direct MartinezVera2026.Prior.debate = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_20
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.direct MartinezVera2026.Prior.direct = isTrue ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.direct MartinezVera2026.Prior.reportative = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_21
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.direct (MartinezVera2026.Prior.correction k) = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.reportative MartinezVera2026.Prior.none = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_23
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.reportative MartinezVera2026.Prior.assertedNegation = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_24
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.reportative MartinezVera2026.Prior.debate = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_25
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.reportative MartinezVera2026.Prior.direct = isFalse MartinezVera2026.instDecidableEqPrior.decEq._proof_26
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.reportative MartinezVera2026.Prior.reportative = isTrue ⋯
- MartinezVera2026.instDecidableEqPrior.decEq MartinezVera2026.Prior.reportative (MartinezVera2026.Prior.correction k) = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq (MartinezVera2026.Prior.correction k) MartinezVera2026.Prior.none = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq (MartinezVera2026.Prior.correction k) MartinezVera2026.Prior.assertedNegation = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq (MartinezVera2026.Prior.correction k) MartinezVera2026.Prior.debate = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq (MartinezVera2026.Prior.correction k) MartinezVera2026.Prior.direct = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq (MartinezVera2026.Prior.correction k) MartinezVera2026.Prior.reportative = isFalse ⋯
- MartinezVera2026.instDecidableEqPrior.decEq (MartinezVera2026.Prior.correction a) (MartinezVera2026.Prior.correction b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
An Asked is the question asked right before the =mi sentence, an unbiased polar question
((8), (9)), a constituent question (29), or a question biased toward the negation (10) or toward
the scope (11).
Instances For
Equations
- MartinezVera2026.instDecidableEqAsked x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
p.context is the context the prior discourse p sets up.
Equations
- One or more equations did not get rendered due to their size.
- MartinezVera2026.Prior.none.context = { moves := ∅, qud := MartinezVera2026.whichEvent }
Instances For
a.context c asks the question a in the context c.
Equations
- One or more equations did not get rendered due to their size.
- MartinezVera2026.Asked.polar.context x✝ = x✝.ask (Question.polar MartinezVera2026.Answer.scope.prop)
- MartinezVera2026.Asked.constituent.context x✝ = x✝.ask MartinezVera2026.whichEvent
Instances For
A =mi example records its prior discourse, the question asked, the constituent =mi marks, and the polarity of its scope.
- prior : Prior
The discourse before the =mi sentence.
- asked : Option Asked
The question asked right before it, if any.
- focus : Option Site
The constituent =mi marks, or none for the clause.
- polarity : Polarity
The polarity of the scope.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
r.scope names the scope of the =mi sentence.
Equations
- r.scope = match r.polarity with | Polarity.positive => MartinezVera2026.Answer.scope | Polarity.negative => MartinezVera2026.Answer.negation
Instances For
r.addressers lists the answers by means of which the moves on record address the question
under discussion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every answer in play addresses the question under discussion, except that a variant does not address a polar question about the scope.
Equations
- r.Addresses (MartinezVera2026.Answer.variant k) = (r.asked = none ∨ r.asked = some MartinezVera2026.Asked.constituent)
- r.Addresses x✝ = True
Instances For
The analysis licenses the =mi sentence when some answer on record addresses the question under discussion and fits it.
Equations
- r.Licensed = ∃ a ∈ r.addressers, r.Addresses a ∧ r.Fits a
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- r.instDecidableLicensed = id inferInstance
The model's propositions #
Exhaustifying the variant at k relative to the alternatives at k denies the scope.
An answer fits the =mi sentence exactly when it is an alternative whose exhaustification entails the negated scope.
In each example's context, the presupposition of =mi holds exactly when the analysis licenses it.
The examples name sites by their constructors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The examples name the constituent =mi marks, the clause or a site.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The examples name prior discourses other than a correction by their constructors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The examples name the questions asked by their constructors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The examples name the polarity of a negative scope.
Equations
- MartinezVera2026.polarityLabels = [("negative", Polarity.negative)]
Instances For
ofDatum? x is the =mi example the row x records, if it records one, a correction
naming its contrasted site.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every =mi example is acceptable exactly when its presupposition holds in its context.
A Continuation is how the speaker continues her declarative in a commitment test. She denies
its scope ((18a), (19a)), denies her evidence ((18b), (19b)), or confirms the scope with =mi
and then denies it (footnote 10).
- deniesScope : Continuation
- deniesEvidence : Continuation
- confirmsThenDeniesScope : Continuation
Instances For
Equations
- MartinezVera2026.instDecidableEqContinuation x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
A commitment test is a declarative of the scope with an evidential, continued by its speaker.
- evidential : Evidential
The evidential of the declarative.
- continuation : Continuation
How the speaker continues.
Instances For
r.context is the record after the declarative and its continuation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The speaker of a declarative with a direct or reportative evidential stays consistent exactly when the evidential is reportative and she denies only the scope.
The examples name the evidentials of the commitment tests by their evidence type.
Equations
- MartinezVera2026.CommitmentExample.evidentialLabels = [("direct", Quechua.SaraguroKichwa.Evidentiality.rka), ("reportative", Quechua.SaraguroKichwa.Evidentiality.shka)]
Instances For
The examples name the continuations by their constructors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ofDatum? x is the commitment test the row x records, if it records one.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every commitment test is acceptable exactly when its speaker's commitments are consistent ((18), (19), footnote 10).