Documentation

Linglib.Theories.Semantics.Quotation.Mixed

Mixed Quotation #

@cite{kirk-giannini-2024}

Formal apparatus for overt and covert mixed quotation, following Kirk-Giannini 2024 "Covert mixed quotation" (Semantics & Pragmatics 17).

Core Idea #

Mixed quotation is a compositional interaction between pure quotation and a covert mixed quotation operator 𝔐. A mixed-quoted expression simultaneously:

  1. Used: contributes its at-issue semantic value to composition
  2. Mentioned: peripherally entails that some salient speaker produced an utterance of that expression

The theory introduces four covert operators:

These operators unify five phenomena: CI projection failure, c-monsters, metalinguistic negation, metalinguistic negotiation, and "in a sense" constructions.

Connection to Existing Infrastructure #

The TwoDimProp type from @cite{potts-2005} provides the at-issue Γ— peripheral carrier. pureQuote (added to TwoDimProp) blocks CI projection under quotation. The operators here compose over TwoDimProp.

The quotative interpretation function ⟨⟩ β€” implemented as QuotInterp below β€” is from @cite{shan-2010}. K-G writes (paper p.12, p.15): "Drawing on Shan, I implement this proposal about the at-issue contribution of mixed-quoted items using a purpose-built quotative interpretation function ⟨⟩." (βˆ—) is therefore Shan's; K-G's contribution is the covert apparatus 𝔐, ↓, †, 𝔄 layered on top.

Flat (TwoDimProp) vs. Layered (MQProp) Model #

Two carriers are exposed:

When to use which. Flat for at-issue-truth-conditional predictions where R is irrelevant (e.g. LoGuercio2025's CI work). Layered when the prediction is about R-survival or when both peripheral dimensions matter independently (K-G Β§3 metalinguistic negation, Β§1 strip-then-mix observation that 𝔐 introduces R-attribution while 𝔄 leaves it intact).

Bridge: MQProp.toFlat projects the layered model down by discarding R-content and using β—†-content as the flat ci. flat_agreement_atIssue and flat_loses_rContent quantify the agreement and the information loss of the projection.

@[reducible, inline]
abbrev Semantics.Quotation.QuotInterp (Expr Speaker W : Type) :

The quotative interpretation function ⟨*⟩.

Maps an expression q, a world of utterance w₁, and a speaker s to the extension of q as uttered by s at w₁, evaluated at world of evaluation wβ‚‚.

⟦⟨*⟩⟧(q, w₁, s, wβ‚‚) = Ο‡ where Ο‡ is the extension at wβ‚‚ of the intension contributed by an utterance of q by s at w₁.

Equations
Instances For
    @[reducible, inline]
    abbrev Semantics.Quotation.UttRel (Speaker Utt Expr W : Type) :

    The utterance relation R.

    R(s, u, q, w) holds iff speaker s produced utterance u of expression q at world w. Introduced peripherally by 𝔐 and resolved as a discourse anaphor.

    Equations
    Instances For
      structure Semantics.Quotation.MQContext (W Expr Speaker Utt : Type) :

      A mixed quotation context: the discourse-anaphoric parameters and interpretation functions needed to evaluate mixed quotation.

      The speaker sx and utterance ux are free variables resolved by discourse anaphora β€” they pick out the salient individual who produced the quoted material and the utterance event in which they did so.

      • interp : QuotInterp Expr Speaker W

        Quotative interpretation function ⟨*⟩

      • uttRel : UttRel Speaker Utt Expr W

        Utterance relation R

      • sx : Speaker

        Anaphorically retrieved speaker

      • ux : Utt

        Anaphorically retrieved utterance

      • wc : W

        World of context

      Instances For
        def Semantics.Quotation.MQContext.applyMQ {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (q : Expr) :

        Apply the mixed quotation operator 𝔐 to an expression.

        Returns a TwoDimProp with:

        • at-issue: ⟨q⟩(wc)(sx) β€” the extension as used by the speaker at the world of context
        • peripheral: R(sx, ux, q) β€” the speaker produced this utterance

        This is the core of the theory: mixed quotation arises compositionally from these two semantic contributions of 𝔐.

        Equations
        Instances For
          @[simp]
          theorem Semantics.Quotation.MQContext.applyMQ_atIssue {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (q : Expr) :
          (ctx.applyMQ q).atIssue = ctx.interp q ctx.wc ctx.sx

          Projection of applyMQ onto the at-issue dimension: ⟨*⟩(q)(wc)(sx).

          @[simp]
          theorem Semantics.Quotation.MQContext.applyMQ_ci {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (q : Expr) :
          (ctx.applyMQ q).ci = ctx.uttRel ctx.sx ctx.ux q

          Projection of applyMQ onto the peripheral dimension: R(sx, ux, q).

          The shunting operator ↓: moves peripheral content to the at-issue dimension by conjoining it with at-issue content.

          After shunting, the at-issue content becomes p.atIssue ∧ p.ci and peripheral content becomes trivial.

          This operator is independently motivated (@cite{potts-2007}, McCready 2010) and is what allows peripheral content from mixed quotation to interact with higher at-issue operators like negation and conditionals. In the Writer monad architecture for CI effects (see Theories.Semantics.Composition.Effects.twoDimToWriter), shunting corresponds to running the Writer by folding the CI log into the value via conjunction (see runCIWriter and runCIWriter_twoDim in Theories.Semantics.Composition.Effects).

          Equations
          Instances For
            @[simp]
            theorem Semantics.Quotation.shunt_atIssue {W : Type} (p : Pragmatics.Expressives.TwoDimProp W) (w : W) :
            (shunt p).atIssue w ↔ p.atIssue w ∧ p.ci w

            Shunting conjoins both dimensions into at-issue.

            @[simp]

            Shunting trivializes peripheral content.

            Shunting is idempotent on the at-issue dimension: once peripheral content has been consumed, shunting again has no effect.

            def Semantics.Quotation.diagonalize {W Expr Speaker : Type} (interp : QuotInterp Expr Speaker W) (s : Speaker) (q : Expr) :
            W β†’ Prop

            The diagonalizer †: shifts the quotative interpretation so that at the world of evaluation w, the expression's meaning is what it would be as uttered by the speaker at w (rather than at wc).

            This captures c-monstrous behavior without positing actual context monsters. "If Pluto were a planet" accesses the meaning 'planet' would have if conventions were different β€” because the diagonalizer evaluates ⟨planet⟩(w)(s) at the counterfactual world w where conventions still classify Pluto as a planet.

            Formally: †(f) = f* where f*(q)(w) = ⟨q⟩(w)(s)(w) β€” the world of utterance and world of evaluation collapse.

            Equations
            Instances For
              @[simp]
              theorem Semantics.Quotation.diag_collapses_worlds {W Expr Speaker : Type} (interp : QuotInterp Expr Speaker W) (s : Speaker) (q : Expr) (w : W) :
              diagonalize interp s q w = interp q w s w

              Diagonalization collapses world of utterance and evaluation.

              def Semantics.Quotation.diagonalizeKG {W Expr Speaker : Type} (interp : QuotInterp Expr Speaker W) (q : Expr) :
              W β†’ Prop

              K-G's diagonalizer † with the βˆƒ-over-speakers.

              The bare diagonalize above is parameterized on a single speaker β€” it captures only the world-collapse half of K-G's footnote 22 definition (paper p.26):

              † β€³ Ξ»f. βˆƒs : f = Ξ»q. ⟨⟩(q)(w_c)(s).f

              The βˆƒs quantifies over speakers/communities producing the variant function f* (the world-of-evaluation form f*(s) := Ξ»q. ⟨*⟩(q)(w)(s)). This existential is what makes c-monsters work: "Pluto could have been a planet" is true when there EXISTS a speaker whose use of 'planet' includes Pluto under the diagonalized reading β€” not just when the actual speaker's use does.

              The bare diagonalize is the per-speaker witness; diagonalizeKG adds the existential. Bridge: diagonalizeKG_iff_exists_diagonalize.

              Equations
              Instances For
                @[simp]
                theorem Semantics.Quotation.diagonalizeKG_iff_exists_diagonalize {W Expr Speaker : Type} (interp : QuotInterp Expr Speaker W) (q : Expr) (w : W) :
                diagonalizeKG interp q w ↔ βˆƒ (s : Speaker), diagonalize interp s q w

                diagonalizeKG is the existential closure of diagonalize over speakers.

                def Semantics.Quotation.QuotInterp.fn22Wellformed {W Expr Speaker : Type} (interp : QuotInterp Expr Speaker W) (wc : W) :

                K-G's footnote 22 well-definedness condition.

                For f* to be well-defined as a function (rather than a relation), no two speakers may agree on extensions of all expressions at the world of context wc while disagreeing on extensions at some other world.

                Paper p.26 footnote: "I assume here that there are no two speakers or linguistic communities which assign the same extensions to all expressions in w_c but assign different extensions to some expressions in other worlds."

                This is a global structural property of interp β€” it's about how speakers relate across worlds. Without it, the existential in diagonalizeKG overgenerates (any two speakers can act as witnesses for incompatible diagonal contents at the same world). K-G accepts this assumption to keep the semantics deterministic; it is independently violable.

                Equations
                • interp.fn22Wellformed wc = βˆ€ (s s' : Speaker), (βˆ€ (q : Expr) (w : W), interp q wc s w ↔ interp q wc s' w) β†’ βˆ€ (q : Expr) (w : W), interp q w s w ↔ interp q w s' w
                Instances For
                  theorem Semantics.Quotation.diagonalizeKG_deterministic_under_fn22 {W Expr Speaker : Type} (interp : QuotInterp Expr Speaker W) (wc : W) (h : interp.fn22Wellformed wc) (s s' : Speaker) (hAgree : βˆ€ (q : Expr) (w : W), interp q wc s w ↔ interp q wc s' w) (q : Expr) (w : W) :
                  diagonalize interp s q w ↔ diagonalize interp s' q w

                  Under fn22-wellformedness, speakers who agree on extensions at wc across the entire vocabulary agree on diagonal extensions everywhere. This is the substantive use of fn22Wellformed: it lifts wc-extensional agreement to global agreement, which is what makes the existential in diagonalizeKG deterministic.

                  @[reducible, inline]
                  abbrev Semantics.Quotation.AppropStandard (Speaker Expr W : Type) :

                  An appropriateness standard: given a speaker and expression at a world, whether it is or would be appropriate for that speaker to use that expression.

                  This is the semantic content of the appropriateness modal β—† in Kirk-Giannini's system. The modal quantifies over an accessibility relation, but for finite models we represent the result directly.

                  Equations
                  Instances For
                    def Semantics.Quotation.applyApprop {W Expr Speaker : Type} (approp : AppropStandard Speaker Expr W) (sx : Speaker) (q : Expr) (p : Pragmatics.Expressives.TwoDimProp W) :

                    The appropriateness operator 𝔄: replaces the peripheral content of a mixed-quoted expression with appropriateness content.

                    In the paper's compositional chain, 𝔄 operates on 𝔐's output: 𝔐(q) β†’ 𝔄 β†’ ↓ β†’ Β¬. The at-issue content from 𝔐 passes through unchanged; only the peripheral dimension is replaced with the proposition that the verbatim use of the expression is or would be appropriate. This is the key ingredient for metalinguistic negation: when ↓ shunts this appropriateness content to at-issue and negation scopes over the result, we get "not (p ∧ appropriate-to-say-q)".

                    Equations
                    Instances For
                      @[simp]
                      theorem Semantics.Quotation.approp_preserves_atIssue {W Expr Speaker : Type} (approp : AppropStandard Speaker Expr W) (sx : Speaker) (q : Expr) (p : Pragmatics.Expressives.TwoDimProp W) :
                      (applyApprop approp sx q p).atIssue = p.atIssue

                      𝔄 preserves at-issue content: it only replaces the peripheral dimension.

                      @[simp]
                      theorem Semantics.Quotation.applyApprop_ci {W Expr Speaker : Type} (approp : AppropStandard Speaker Expr W) (sx : Speaker) (q : Expr) (p : Pragmatics.Expressives.TwoDimProp W) :
                      (applyApprop approp sx q p).ci = approp sx q

                      𝔄 replaces the peripheral dimension with appropriateness content.

                      theorem Semantics.Quotation.metalinguistic_neg_truth_conditions {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (approp : AppropStandard Speaker Expr W) (q : Expr) (w : W) :
                      (shunt (applyApprop approp ctx.sx q (ctx.applyMQ q))).neg.atIssue w ↔ Β¬(ctx.interp q ctx.wc ctx.sx w ∧ approp ctx.sx q w)

                      Metalinguistic negation truth conditions.

                      Negating a shunted appropriateness-enhanced mixed quotation yields: ¬(at-issue-meaning ∧ appropriate-to-use-expression).

                      This is the core prediction for metalinguistic negation: "I didn't manage to trap two MONGEESE" is true iff it's not the case that (I managed to trap two mongooses AND it's appropriate to call them 'mongeese'). Since the second conjunct is false (it's not appropriate), the negation is true even though I did manage to trap two mongooses.

                      theorem Semantics.Quotation.metalinguistic_neg_targets_appropriateness {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (approp : AppropStandard Speaker Expr W) (q : Expr) (w : W) (h_true : ctx.interp q ctx.wc ctx.sx w) (h_inapprop : Β¬approp ctx.sx q w) :
                      (shunt (applyApprop approp ctx.sx q (ctx.applyMQ q))).neg.atIssue w

                      The affirmed conjunct in metalinguistic negation.

                      In "I didn't trap two MONGEESE β€” I trapped two MONGOOSES", the second clause entails the at-issue content of the first. So the negation is understood as targeting the appropriateness conjunct: it's not appropriate to use 'mongeese'.

                      theorem Semantics.Quotation.mixed_quot_strips_original_ci {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (q : Expr) (originalCI : W β†’ Prop) (w : W) :
                      have quoted := (Pragmatics.Expressives.TwoDimProp.withCI (ctx.interp q ctx.wc ctx.sx) originalCI).pureQuote; quoted.ci w

                      Pure quotation composes with 𝔐: the expression is first purely quoted (stripping its original CI content), then 𝔐 re-introduces peripheral content attributing the utterance to the speaker.

                      This explains why CI items (expressives, slurs, NRRCs) don't project out of indirect speech reports: the material is first pure-quoted (stripping CIs) before being mixed-quoted (adding speaker attribution).

                      Two-Layer Peripheral Content #

                      The flat TwoDimProp model has a single peripheral dimension, which forces 𝔄 to replace the R-content with β—†-content. This breaks Writer monotonicity: the log is overwritten rather than appended.

                      The non-monotonicity is an artifact of collapsing two genuinely distinct peripheral layers into one field:

                      In the two-layer model, 𝔐 writes to the R-layer and 𝔄 writes to the β—†-layer. No replacement β€” both layers are independently append-only. The key structural results:

                      1. Layer preservation: each operator preserves the layer it doesn't target (R persists through 𝔄, ↓, Β¬)
                      2. Shunting conservation: ↓ is information-conservative β€” total content across all layers is invariant under shunting
                      3. Flat agreement: the flat TwoDimProp model is a projection of the two-layer model that agrees on at-issue content
                      4. Per-layer monotonicity: each layer satisfies Writer-style append-only behavior
                      • atIssue : W β†’ Prop

                        At-issue (truth-conditional) content

                      • rContent : W β†’ Prop

                        R-peripheral: utterance attribution. Projects universally.

                      • appropContent : W β†’ Prop

                        β—†-peripheral: appropriateness. Shuntable into at-issue.

                      Instances For
                        @[reducible]
                        def Semantics.Quotation.MQProp.applyMQ {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (q : Expr) :

                        𝔐 on the two-layer type: at-issue ← ⟨*⟩(q), R-layer ← R(s,u,q), β—†-layer trivial (no appropriateness content yet).

                        Equations
                        Instances For
                          @[reducible]
                          def Semantics.Quotation.MQProp.applyApprop {W Expr Speaker : Type} (approp : AppropStandard Speaker Expr W) (sx : Speaker) (q : Expr) (p : MQProp W) :

                          𝔄 on the two-layer type: writes to the β—†-layer only. R-content and at-issue are preserved β€” no log replacement.

                          Equations
                          Instances For
                            @[reducible]

                            ↓ on the two-layer type: conjoins β—†-content into at-issue. R-content is preserved β€” shunting is selective.

                            Equations
                            Instances For
                              @[reducible]

                              Negation on the two-layer type: negates at-issue only. Both peripheral layers are preserved.

                              Equations
                              Instances For
                                @[simp]
                                theorem Semantics.Quotation.MQProp.applyApprop_preserves_rContent {W Expr Speaker : Type} (approp : AppropStandard Speaker Expr W) (sx : Speaker) (q : Expr) (p : MQProp W) :
                                (applyApprop approp sx q p).rContent = p.rContent

                                𝔄 preserves R-content.

                                @[simp]
                                theorem Semantics.Quotation.MQProp.applyApprop_preserves_atIssue {W Expr Speaker : Type} (approp : AppropStandard Speaker Expr W) (sx : Speaker) (q : Expr) (p : MQProp W) :
                                (applyApprop approp sx q p).atIssue = p.atIssue

                                𝔄 preserves at-issue content.

                                @[simp]
                                theorem Semantics.Quotation.MQProp.applyApprop_appropContent {W Expr Speaker : Type} (approp : AppropStandard Speaker Expr W) (sx : Speaker) (q : Expr) (p : MQProp W) (w : W) :
                                (applyApprop approp sx q p).appropContent w ↔ p.appropContent w ∧ approp sx q w

                                𝔄 appends appropriateness to β—†-content (no replacement).

                                @[simp]

                                ↓ preserves R-content: shunting is selective.

                                @[simp]
                                theorem Semantics.Quotation.MQProp.shunt_atIssue {W : Type} (p : MQProp W) (w : W) :
                                p.shunt.atIssue w ↔ p.atIssue w ∧ p.appropContent w

                                ↓ conjoins β—†-content into at-issue.

                                @[simp]

                                ↓ trivializes β—†-content (the layer is "drained").

                                @[simp]

                                Β¬ preserves R-content.

                                @[simp]

                                Β¬ preserves β—†-content.

                                Β¬ preserves both peripheral dimensions (combined ergonomic lemma bundling neg_preserves_rContent and neg_preserves_appropContent).

                                @[simp]
                                theorem Semantics.Quotation.MQProp.neg_atIssue {W : Type} (p : MQProp W) (w : W) :
                                p.neg.atIssue w ↔ Β¬p.atIssue w

                                Β¬ negates the at-issue dimension.

                                @[simp]
                                theorem Semantics.Quotation.MQProp.applyMQ_atIssue {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (q : Expr) :
                                (applyMQ ctx q).atIssue = ctx.interp q ctx.wc ctx.sx

                                𝔐 produces ⟨*⟩(q)(wc)(sx) on the at-issue dimension.

                                @[simp]
                                theorem Semantics.Quotation.MQProp.applyMQ_rContent {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (q : Expr) :
                                (applyMQ ctx q).rContent = ctx.uttRel ctx.sx ctx.ux q

                                𝔐 produces R(sx, ux, q) on the R-layer.

                                @[simp]
                                theorem Semantics.Quotation.MQProp.applyMQ_appropContent {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (q : Expr) (w : W) :

                                𝔐 leaves the β—†-layer trivial β€” appropriateness has not been written yet.

                                theorem Semantics.Quotation.MQProp.full_chain_preserves_rContent {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (approp : AppropStandard Speaker Expr W) (q : Expr) :
                                (applyApprop approp ctx.sx q (applyMQ ctx q)).shunt.neg.rContent = ctx.uttRel ctx.sx ctx.ux q

                                R-content persists through the full metalinguistic negation chain 𝔐 β†’ 𝔄 β†’ ↓ β†’ Β¬. The utterance attribution is never lost.

                                theorem Semantics.Quotation.MQProp.metalinguistic_neg_truth_conditions {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (approp : AppropStandard Speaker Expr W) (q : Expr) (w : W) :
                                (applyApprop approp ctx.sx q (applyMQ ctx q)).shunt.neg.atIssue w ↔ Β¬(ctx.interp q ctx.wc ctx.sx w ∧ approp ctx.sx q w)

                                Metalinguistic negation truth conditions in the layered model. The MQProp-side counterpart of the flat-model Semantics.Quotation.metalinguistic_neg_truth_conditions (line 219 above). At-issue content of the full chain is Β¬(at-issue ∧ appropriate), identical to the flat model β€” but the layered model ALSO retains the R-attribution (per full_chain_preserves_rContent), which the flat model discards.

                                theorem Semantics.Quotation.MQProp.shunt_conserves {W : Type} (p : MQProp W) (w : W) :
                                p.shunt.atIssue w ∧ p.shunt.rContent w ∧ p.shunt.appropContent w ↔ p.atIssue w ∧ p.rContent w ∧ p.appropContent w

                                Shunting conservation. The total information content β€” the conjunction of all three layers β€” is invariant under ↓.

                                Shunting doesn't destroy β—†-content; it relocates it from the β—†-layer to the at-issue layer. The β—†-layer becomes trivial, but the information is preserved in the at-issue conjunction. No content is created or destroyed β€” only moved.

                                This is the crown theorem of the two-layer analysis: it shows that the apparent non-monotonicity of the flat model is an illusion. When the layers are properly separated, every operation preserves total information (negation inverts at-issue, but that's intentional semantic content, not information loss).

                                Project the two-layer model to the flat TwoDimProp by discarding R-content and using β—†-content as the CI dimension.

                                This projection is exact after 𝔄: the flat model's "replaced" CI is the β—†-layer of the two-layer model. The R-content, discarded here, is the information that the flat model loses.

                                Equations
                                Instances For
                                  @[simp]

                                  The flat projection preserves at-issue content.

                                  @[simp]

                                  The flat projection uses β—†-content as the CI dimension (R-content discarded).

                                  theorem Semantics.Quotation.MQProp.flat_agreement_atIssue {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (approp : AppropStandard Speaker Expr W) (q : Expr) (w : W) :
                                  (applyApprop approp ctx.sx q (applyMQ ctx q)).shunt.neg.atIssue w ↔ (Quotation.shunt (Quotation.applyApprop approp ctx.sx q (ctx.applyMQ q))).neg.atIssue w

                                  The full chain on the two-layer model agrees with the flat model on at-issue content. The two models diverge only in what happens to R-content: the layered model preserves it, the flat model discards it.

                                  theorem Semantics.Quotation.MQProp.flat_loses_rContent {W Expr Speaker Utt : Type} (ctx : MQContext W Expr Speaker Utt) (approp : AppropStandard Speaker Expr W) (q : Expr) :
                                  (applyApprop approp ctx.sx q (applyMQ ctx q)).shunt.neg.rContent = ctx.uttRel ctx.sx ctx.ux q ∧ (Quotation.shunt (Quotation.applyApprop approp ctx.sx q (ctx.applyMQ q))).neg.ci = (Quotation.shunt (Quotation.applyApprop approp ctx.sx q (ctx.applyMQ q))).ci

                                  What the flat model loses: R-content is present in the layered model but absent in the flat projection.

                                  After metalinguistic negation ("I didn't trap two MONGEESE"), the layered model records that the utterance 'mongeese' was produced (R is true). The flat model has no trace of this β€” the R-content was overwritten by β—†-content when 𝔄 was applied.