Documentation

Linglib.Theories.Semantics.Exhaustification.FreeChoice

Core Theorems from @cite{chierchia-2013} Logic in Grammar #

@cite{chierchia-2013} @cite{fox-2007} @cite{spector-2016}

Deep integration of Chierchia's central results connecting polarity, scalar implicatures, free choice, and intervention — all with real proofs.

Main results #

  1. Free Choice via Double Exhaustification (Ch. 2, 5): Exh(Exh(◇(p ∨ q))) ↔ ◇p ∧ ◇q

  2. SI–NPI Generalization (Ch. 1–2): Scalar implicatures are vacuous in exactly DE contexts.

  3. Domain Widening Reversal (Ch. 1, 3): Widening strengthens in DE contexts, weakens in UE contexts.

  4. Intervention Disrupts DE (Ch. 7): Inserting a non-monotone strengthening operator inside a DE context destroys the DE property, blocking NPI licensing.

  5. Scalar Reversal (Ch. 1): The same scale produces opposite implicatures in UE vs DE contexts.

  6. FC Duality (Ch. 5–6): Free choice works uniformly for ◇ and □ via the same exhaustification.

Free Choice Derivation #

Chierchia's signature result: the Free Choice inference for permission sentences like "You may have coffee or tea" → "You may have coffee AND you may have tea" is derived grammatically via double exhaustification.

We work over an abstract World type where ◇p = ∃ w, p w.

def Exhaustification.FreeChoice.diamond {World : Type u_1} (p : Prop' World) :

Possibility modal: ◇p holds iff p is true at some accessible world.

Equations
Instances For
    def Exhaustification.FreeChoice.box {World : Type u_1} (p : Prop' World) :

    Necessity modal: □p holds iff p is true at all accessible worlds.

    Equations
    Instances For
      def Exhaustification.FreeChoice.pdisj {World : Type u_1} (p q : Prop' World) :
      Prop' World

      Disjunction of propositions.

      Equations
      Instances For
        structure Exhaustification.FreeChoice.FCAltSet (World : Type u_2) :
        Type u_2

        The alternative set for ◇(p ∨ q) consists of {◇p, ◇q, ◇(p ∧ q)}.

        This is the standard alternative set: subdomain alternatives ◇p, ◇q (restricting the disjunction) and the conjunction alternative ◇(p ∧ q) (strengthening the disjunction).

        Instances For

          Alternative: ◇p

          Equations
          Instances For

            Alternative: ◇q

            Equations
            Instances For

              Alternative: ◇(p ∧ q)

              Equations
              Instances For

                First exhaustification: Exh(◇(p ∨ q)) = ◇(p ∨ q) ∧ ¬◇(p ∧ q)

                The conjunction alternative ◇(p ∧ q) is the unique innocently excludable alternative at this stage — excluding either ◇p or ◇q alone would be incompatible with the assertion.

                Equations
                Instances For

                  The strengthened alternatives after first Exh: Exh(◇p) = ◇p ∧ ¬◇q and Exh(◇q) = ◇q ∧ ¬◇p

                  These are the alternatives to the exhaustified sentence, obtained by exhaustifying each subdomain alternative the same way.

                  Equations
                  Instances For
                    Equations
                    Instances For

                      Second exhaustification: Exh(Exh(◇(p ∨ q))) = Exh₁ ∧ ¬(◇p ∧ ¬◇q) ∧ ¬(◇q ∧ ¬◇p)

                      Now the strengthened subdomain alternatives are innocently excludable.

                      Equations
                      Instances For

                        Free choice: ◇p ∧ ◇q

                        Equations
                        Instances For
                          theorem Exhaustification.FreeChoice.free_choice_forward {World : Type u_1} (a : FCAltSet World) (h : a.exh2) :

                          Theorem 1 (Free Choice via Double Exhaustification).

                          @cite{chierchia-2013} Ch. 2, 5; @cite{fox-2007}:

                          Exh(Exh(◇(p ∨ q))) → ◇p ∧ ◇q

                          Double exhaustification of a disjunction under a possibility modal yields the conjunctive (free choice) reading.

                          Proof: The second Exh negates ◇p∧¬◇q and ◇q∧¬◇p. Combined with the assertion ◇(p∨q), we derive both ◇p and ◇q.

                          theorem Exhaustification.FreeChoice.free_choice_backward {World : Type u_1} (a : FCAltSet World) (hfc : a.freeChoice) (hnpq : ¬a.altPQ) :

                          Theorem 1 (converse direction).

                          ◇p ∧ ◇q ∧ ¬◇(p ∧ q) → Exh(Exh(◇(p ∨ q)))

                          When both disjuncts are individually possible but their conjunction is not, we get exactly the double-exhaustified meaning.

                          The SI–NPI Generalization #

                          @cite{chierchia-2013} Ch. 1–2, building on @cite{chierchia-2004}:

                          Scalar implicatures are blocked in exactly the environments that license NPIs — namely, Downward Entailing environments.

                          In a DE environment f, if strong ⊆ₚ weak (strong entails weak), then f weak ⊆ₚ f strong (f reverses the entailment). Exhaustifying f(weak) by negating f(strong) would produce f(weak) ∧ₚ ∼(f(strong)), but since f(weak) ⊆ₚ f(strong), this is contradictory — i.e., the scalar implicature is vacuous.

                          @[reducible, inline]
                          abbrev Exhaustification.FreeChoice.Ctx (World : Type u_2) :
                          Type u_2

                          A context function mapping propositions to propositions.

                          Equations
                          Instances For
                            def Exhaustification.FreeChoice.exhInCtx {World : Type u_1} (C : Ctx World) (weak strong : Prop' World) :
                            Prop' World

                            Exhaustification in context: assert C(weak) and negate C(strong).

                            Equations
                            Instances For
                              def Exhaustification.FreeChoice.siVacuous {World : Type u_1} (C : Ctx World) (weak strong : Prop' World) :

                              The SI is vacuous: the exhaustified meaning entails ⊥ (is empty).

                              Equations
                              Instances For
                                theorem Exhaustification.FreeChoice.si_vacuous_in_de {World : Type u_1} (C : Ctx World) (hDE : ∀ (p q : Prop' World), (p ⊆ₚ q) → C q ⊆ₚ C p) (weak strong : Prop' World) (h_ent : strong ⊆ₚ weak) :
                                siVacuous C weak strong

                                Theorem 2 (SI–NPI Generalization, one direction).

                                In a DE context, if strong ⊆ₚ weak, then the scalar implicature C(weak) ∧ ¬C(strong) is contradictory (vacuous).

                                This is the formal content of Chierchia's observation that SIs are suspended in NPI-licensing environments.

                                theorem Exhaustification.FreeChoice.si_active_witness {World : Type u_1} (C : Ctx World) (weak strong : Prop' World) (h_witness : ∃ (w : World), C weak w ¬C strong w) :
                                ¬siVacuous C weak strong

                                Theorem 2 (converse direction).

                                If the SI is non-vacuous, there must be some world where it fires.

                                Domain Widening and Informativity #

                                @cite{chierchia-2013} Ch. 1, 3, building on @cite{kadmon-landman-1993}:

                                NPIs like "any" are indefinites with obligatory domain widening.

                                This explains NPI licensing: "any" is grammatical exactly where its obligatory widening is informative, i.e., in DE contexts.

                                def Exhaustification.FreeChoice.existsInDomain {World : Type u_1} {Entity : Type u_2} (D : Set Entity) (P : EntityProp' World) :
                                Prop' World

                                An existential statement over a domain D: ∃ x ∈ D, P x.

                                Equations
                                Instances For
                                  theorem Exhaustification.FreeChoice.wider_domain_weaker_existential {World : Type u_1} {Entity : Type u_2} (D D' : Set Entity) (P : EntityProp' World) (h : D D') :

                                  Widening the domain is weakening: if D ⊆ D', then (∃x∈D, Px) ⊆ₚ (∃x∈D', Px).

                                  Larger domain = more potential witnesses = weaker existential claim.

                                  theorem Exhaustification.FreeChoice.widening_strengthens_in_de {World : Type u_1} {Entity : Type u_2} (C : Ctx World) (hDE : ∀ (p q : Prop' World), (p ⊆ₚ q) → C q ⊆ₚ C p) (D D' : Set Entity) (P : EntityProp' World) (h : D D') :

                                  Theorem 3a (Widening strengthens in DE).

                                  In a DE context, widening the domain of an indefinite strengthens the overall claim: C(∃x∈D', Px) ⊆ₚ C(∃x∈D, Px) when D ⊆ D'.

                                  This is why NPIs are licensed in DE contexts: widening is informative.

                                  theorem Exhaustification.FreeChoice.widening_weakens_in_ue {World : Type u_1} {Entity : Type u_2} (C : Ctx World) (hUE : ∀ (p q : Prop' World), (p ⊆ₚ q) → C p ⊆ₚ C q) (D D' : Set Entity) (P : EntityProp' World) (h : D D') :

                                  Theorem 3b (Widening weakens in UE).

                                  In a UE context, widening the domain weakens the overall claim: C(∃x∈D, Px) ⊆ₚ C(∃x∈D', Px) when D ⊆ D'.

                                  This is why NPIs are not licensed in UE contexts: widening is uninformative (violates Maximize Strength).

                                  Intervention Effects #

                                  @cite{chierchia-2013} Ch. 7:

                                  Scalar triggers embedded between an NPI licensor and the NPI can disrupt licensing. This is because exhaustification (EXH) applied at the scalar trigger's scope is not monotone: it can break the Downward Entailing property of the embedding context.

                                  Key insight: Exhaustification is a strengthening operation (exh(φ) ⊆ₚ φ). Any non-trivial strengthening can disrupt antitonicity because subset-preservation is not preserved under arbitrary strengthening.

                                  An operator S is a strengthening operator if S(φ) ⊆ₚ φ for all φ.

                                  Equations
                                  Instances For
                                    theorem Exhaustification.FreeChoice.intervention_negation_not_de {World : Type u_1} (S : Ctx World) (p q : Prop' World) (_hpq : p ⊆ₚ q) (w : World) (hSpw : S p w) (hnSqw : ¬S q w) :

                                    Theorem 4 (Intervention disrupts DE).

                                    If S is not monotone (∃ p ⊆ₚ q with ¬(S p ⊆ₚ S q)), then composing negation (a DE context) with S fails to be DE.

                                    This captures Chierchia's insight: a scalar trigger (which acts like Exh, a non-monotone strengthening operator) between an NPI licensor and an NPI disrupts the DE chain.

                                    Corollary: Exhaustification (Exh) is the prototypical intervener.

                                    Exh is strengthening (exh(φ) ⊆ₚ φ) and not monotone (∃ p ⊆ₚ q with exh(p) ⊄ exh(q)). So Exh inserted between a DE licensor and an NPI disrupts the DE property.

                                    Scalar Reversal in DE Contexts #

                                    @cite{chierchia-2013} Ch. 1:

                                    The same Horn scale produces opposite effects depending on polarity:

                                    This is proven as a direct consequence of antitonicity.

                                    theorem Exhaustification.FreeChoice.entailment_reversal_in_de {World : Type u_1} (C : Ctx World) (hDE : ∀ (p q : Prop' World), (p ⊆ₚ q) → C q ⊆ₚ C p) (weak strong : Prop' World) (h : strong ⊆ₚ weak) :
                                    C weak ⊆ₚ C strong

                                    Theorem 5 (Entailment reversal in DE contexts).

                                    If strong ⊆ₚ weak (strong entails weak) and C is DE, then C weak ⊆ₚ C strong (C(weak) entails C(strong)).

                                    The "stronger" alternative in UE becomes the "weaker" one in DE, making the exhaustification move vacuous.

                                    theorem Exhaustification.FreeChoice.weak_is_strong_in_de {World : Type u_1} (C : Ctx World) (hDE : ∀ (p q : Prop' World), (p ⊆ₚ q) → C q ⊆ₚ C p) (some_ all_ : Prop' World) (h : all_ ⊆ₚ some_) :
                                    C some_ ⊆ₚ C all_

                                    Corollary: In DE, the "weak" scalar term is informationally stronger.

                                    "Not all students came" entails "Not some students came" (= "No student came"). So in "not ___ students came", "some" is the stronger filler. This is why "any" (= widened "some") is licensed: it's the strongest.

                                    Free Choice Duality #

                                    @cite{chierchia-2013} Ch. 5–6:

                                    The Free Choice derivation is uniform across modal forces. Both existential FC (◇(p∨q) → ◇p ∧ ◇q) and universal FC (□(p∨q) → □p ∧ □q, i.e., "subtrigging") follow from the same double-exhaustification mechanism.

                                    We prove this by parameterizing over an arbitrary modal operator.

                                    @[reducible, inline]

                                    A modal operator: maps a proposition about worlds to a truth value.

                                    Equations
                                    Instances For

                                      The FC alt set parameterized by modal operator M: Assertion M(p ∨ q), alternatives M(p), M(q), M(p ∧ q).

                                      Instances For
                                        Equations
                                        Instances For
                                          Equations
                                          Instances For
                                            Equations
                                            Instances For
                                              Equations
                                              Instances For
                                                Equations
                                                Instances For
                                                  Equations
                                                  Instances For
                                                    Equations
                                                    Instances For
                                                      Equations
                                                      Instances For
                                                        theorem Exhaustification.FreeChoice.fc_duality_forward {World : Type u_1} (a : ModalFCAltSet World) (h_distrib : a.assertiona.altP a.altQ) (h : a.exh2) :

                                                        Theorem 6 (FC Duality).

                                                        For ANY modal operator M satisfying distributivity over disjunction (M(p ∨ q) → M(p) ∨ M(q)), double exhaustification yields free choice.

                                                        This covers:

                                                        • ◇ (possibility): ◇(p∨q) → ◇p ∨ ◇q trivially
                                                        • □ (necessity): □(p∨q) → □p ∨ □q (when the box distributes)
                                                        • Deontic, epistemic, ability modals

                                                        The proof is structurally identical to the ◇ case.

                                                        theorem Exhaustification.FreeChoice.diamond_distributes {World : Type u_1} (p q : Prop' World) :

                                                        Corollary: ◇ satisfies the distributivity condition.

                                                        Polarity Composition Laws #

                                                        @cite{chierchia-2013} Ch. 1 §1.1.3:

                                                        The four composition rules for monotonicity, grounded in Mathlib's order theory. These are the foundation for all of Chierchia's results.

                                                        theorem Exhaustification.FreeChoice.double_negation_ue {World : Type u_1} {f g : Prop' WorldProp' World} (hf : Antitone f) (hg : Antitone g) :

                                                        Double negation restores UE: "Nobody doubts that..." is UE. DE ∘ DE = UE, from Mathlib's Antitone.comp.

                                                        theorem Exhaustification.FreeChoice.ue_under_de {World : Type u_1} {f g : Prop' WorldProp' World} (hf : Monotone f) (hg : Antitone g) :

                                                        DE under UE stays DE: "It's true that nobody..." is DE. UE ∘ DE = DE

                                                        theorem Exhaustification.FreeChoice.de_under_ue {World : Type u_1} {f g : Prop' WorldProp' World} (hf : Antitone f) (hg : Monotone g) :

                                                        UE under DE stays DE: "Nobody said..." is DE when "said" is UE. DE ∘ UE = DE

                                                        theorem Exhaustification.FreeChoice.ue_under_ue {World : Type u_1} {f g : Prop' WorldProp' World} (hf : Monotone f) (hg : Monotone g) :

                                                        UE under UE stays UE: "Somebody said..." is UE. UE ∘ UE = UE

                                                        Maximize Strength as Exhaustification #

                                                        @cite{chierchia-2013} Ch. 1 §1.1.4:

                                                        Maximize Strength says: among alternative parses, prefer the one that generates the strongest (most informative) proposition. This is equivalent to applying the exhaustivity operator, since exhaustification negates alternatives to produce the strongest consistent meaning.

                                                        theorem Exhaustification.FreeChoice.maximize_strength_eq_exhIE {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                                        exhIE ALT φ ⊆ₚ φ

                                                        Maximize Strength: exhIE produces an interpretation that entails the plain meaning — it is a strengthening operation. This is Chierchia's Maximize Strength principle formalized as the defining property of exhaustification.