Documentation

Linglib.Theories.Semantics.Exhaustification.Basic

def Exhaustification.entails {World : Type u_1} (φ ψ : Prop' World) :

Entailment: φ ⊆ ψ (Spector uses set-theoretic notation) "I also adopt the set-theoretic notation φ ⊆ ψ to mean that φ entails ψ."

Equations
  • (φ ⊆ₚ ψ) = ∀ (w : World), φ wψ w
Instances For
    def Exhaustification.pequiv {World : Type u_1} (φ ψ : Prop' World) :

    Equivalence of propositions

    Equations
    Instances For
      def Exhaustification.pneg {World : Type u_1} (φ : Prop' World) :
      Prop' World

      Negation of a proposition

      Equations
      Instances For
        def Exhaustification.pand {World : Type u_1} (φ ψ : Prop' World) :
        Prop' World

        Conjunction of two propositions

        Equations
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Exhaustification.bigConj {World : Type u_1} (X : Set (Prop' World)) :
            Prop' World

            Conjunction of a set of propositions (grand conjunction ⋀X) "⋀X refers to the grand conjunction of its members, i.e., the proposition that is true in a world u if and only if every member of X is true in u"

            Equations
            • X w = φX, φ w
            Instances For
              def Exhaustification.bigDisj {World : Type u_1} (X : Set (Prop' World)) :
              Prop' World

              Disjunction of a set of propositions (grand disjunction ⋁X) "⋁X refers to the grand disjunction of the members of X, i.e., the proposition that is true in a world u if and only if at least one member of X is true in u"

              Equations
              • X w = φX, φ w
              Instances For
                def Exhaustification.leALT {World : Type u_1} (ALT : Set (Prop' World)) (u v : World) :

                Definition 1.1: Given a set of alternatives ALT, ≤_ALT is the preorder over possible worlds defined as follows:

                u ≤_ALT v iff {a ∈ ALT : a(u) = 1} ⊆ {a ∈ ALT : a(v) = 1}

                "u makes true a subset of the alternatives that v makes true"

                Equations
                • (u ≤[ALT] v) = aALT, a ua v
                Instances For
                  def Exhaustification.ltALT {World : Type u_1} (ALT : Set (Prop' World)) (u v : World) :

                  Definition 1.2: <_ALT is the strict preorder corresponding to ≤_ALT:

                  u <_ALT v iff u ≤_ALT v ∧ ¬(v ≤_ALT u)

                  "The alternatives that u makes true are a proper subset of those that v makes true."

                  Equations
                  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
                        theorem Exhaustification.leALT_refl {World : Type u_1} (ALT : Set (Prop' World)) (u : World) :
                        u ≤[ALT] u
                        theorem Exhaustification.leALT_trans {World : Type u_1} (ALT : Set (Prop' World)) (u v w : World) (huv : u ≤[ALT] v) (hvw : v ≤[ALT] w) :
                        u ≤[ALT] w
                        def Exhaustification.exhMW {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) :
                        Prop' World

                        Definition 2: Exhaustivity operator based on minimal worlds (exh_mw)

                        Given a set of propositions ALT and a proposition φ,

                        exh_mw(ALT, φ) = {u : φ(u) = 1 ∧ ¬∃v(φ(v) = 1 ∧ v <_ALT u)}

                        Equivalently: exh_mw(ALT, φ) = φ ∩ {u : ¬∃v(φ(v) = 1 ∧ v <_ALT u)}

                        "The set of φ-worlds that are minimal relative to <_ALT"

                        Equations
                        Instances For
                          def Exhaustification.isMinimal {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u : World) :

                          A world u is minimal among φ-worlds relative to <_ALT.

                          Equations
                          Instances For
                            theorem Exhaustification.exhMW_entails {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) :
                            exhMW ALT φ ⊆ₚ φ
                            def Exhaustification.SetConsistent {World : Type u_1} (X : Set (Prop' World)) :

                            Definition 3.1: A set of propositions X is consistent if there exists a world u in which every member of X is true.

                            Equations
                            Instances For
                              def Exhaustification.isCompatible {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (E : Set (Prop' World)) :

                              Definition 3.2: Given a proposition φ and a set of alternatives ALT, a set of propositions E is (ALT, φ)-compatible if and only if: a) φ ∈ E b) every member of E distinct from φ is the negation of a member of ALT c) E is consistent

                              Equations
                              Instances For
                                def Exhaustification.isMCSet {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (E : Set (Prop' World)) :

                                Definition 3.3: MC_(ALT,φ)-sets

                                A set is maximal (ALT, φ)-compatible (MC_(ALT,φ)-set for short) if it is (ALT, φ)-compatible and is not properly included in any other (ALT, φ)-compatible set.

                                Equations
                                Instances For
                                  def Exhaustification.IE {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                  Set (Prop' World)

                                  Definition 3.4: IE_(ALT,φ) = {ψ : ψ belongs to every MC_(ALT,φ)-set}

                                  "Note that, somewhat counter-intuitively, the set IE_(ALT,φ) is not the set of innocently excludable alternatives, but rather the set that contains φ and all the negations of innocently excludable alternatives."

                                  Equations
                                  Instances For
                                    def Exhaustification.isInnocentlyExcludable {World : Type u_1} (ALT : Set (Prop' World)) (φ a : Prop' World) :

                                    Definition 3.5: An alternative a is innocently excludable given ALT and φ if and only if ¬a ∈ IE_(ALT,φ).

                                    Equations
                                    Instances For
                                      def Exhaustification.exhIE {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                      Prop' World

                                      Definition 4: Exhaustivity operator based on innocent exclusion (exh_ie)

                                      exh_ie(ALT, φ) = {u : ∀ψ(ψ ∈ IE_(ALT,φ) → ψ(u) = 1)}

                                      Equivalently: exh_ie(ALT, φ) = ⋀ IE_(ALT,φ)

                                      Equivalently: exh_ie(ALT, φ) = φ ∧ ⋀{¬a : a is a member of ALT that is innocently excludable given ALT and φ}

                                      Equations
                                      Instances For
                                        def Exhaustification.closedUnderConj {World : Type u_1} (ALT : Set (Prop' World)) :

                                        A set ALT is closed under conjunction if for any subset X of ALT, ⋀X ∈ ALT.

                                        (Definition 5 in Spector)

                                        Equations
                                        Instances For
                                          def Exhaustification.closedUnderDisj {World : Type u_1} (ALT : Set (Prop' World)) :

                                          A set ALT is closed under disjunction if for any subset X of ALT, ⋁X ∈ ALT.

                                          Equations
                                          Instances For
                                            theorem Exhaustification.ltALT_wf_of_finite {World : Type u_1} (ALT : Set (Prop' World)) (hfin : ALT.Finite) :

                                            Well-foundedness for finite ALT: The strict ordering <_ALT is well-founded when ALT is finite.

                                            Proof idea: For any infinite descending chain w₁ >_ALT w₂ >_ALT..., the set of true alternatives strictly increases at each step. Since ALT is finite, this cannot continue indefinitely.

                                            theorem Exhaustification.exists_minimal_of_finite {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (hfin : ALT.Finite) (hsat : ∃ (w : World), φ w) :
                                            ∃ (u : World), isMinimal ALT φ u

                                            Existence of minimal worlds for finite ALT: When ALT is finite and φ is satisfiable, there exists a minimal φ-world.

                                            def Exhaustification.X_of_world {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u : World) :
                                            Set (Prop' World)

                                            Definition from Section 5.3: X(u) = {φ} ∪ {¬a : a ∈ ALT ∧ a(u) = 0}

                                            For any world u, X(u) is the set containing φ and the negations of all alternatives that are false at u.

                                            "XALT,φ(u) = {φ} ∪ {¬a: a ∈ ALT ∧ a(u) = 0}"

                                            Equations
                                            Instances For
                                              theorem Exhaustification.pneg_injective {World : Type u_1} {a a' : Prop' World} (h : a = a') :
                                              a = a'

                                              Helper lemma: If ∼a = ∼a' then a = a' (negation is injective on propositions).

                                              theorem Exhaustification.ltALT_iff_X_ssubset {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u v : World) (hu : φ u) (hv : φ v) :
                                              (u <[ALT] v) X_of_world ALT φ v X_of_world ALT φ u

                                              Key equivalence (from proof of Lemma 1): For any two φ-worlds u and v: u <_ALT v ⟺ X(v) ⊊ X(u)

                                              "The alternatives that u makes true are a proper subset of those v makes true" is equivalent to "X(v) is a proper subset of X(u)".

                                              theorem Exhaustification.X_contains_phi {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u : World) :
                                              φ X_of_world ALT φ u

                                              X(u) contains φ.

                                              theorem Exhaustification.X_elements {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u : World) (ψ : Prop' World) ( : ψ X_of_world ALT φ u) :
                                              ψ = φ aALT, ψ = a

                                              Every element of X(u) is either φ or the negation of some alternative.

                                              theorem Exhaustification.u_satisfies_X {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u : World) (hu : φ u) (ψ : Prop' World) :
                                              ψ X_of_world ALT φ uψ u

                                              u satisfies everything in X(u).

                                              theorem Exhaustification.X_is_compatible {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u : World) (hu : φ u) :
                                              isCompatible ALT φ (X_of_world ALT φ u)

                                              X(u) is (ALT, φ)-compatible when φ u holds.

                                              theorem Exhaustification.lemma1_minimal_iff_MCset {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u : World) (hu : φ u) :
                                              isMinimal ALT φ u isMCSet ALT φ (X_of_world ALT φ u)

                                              Lemma 1 (Spector p.22): For any φ-world u: u is a minimal φ-world relative to <ALT ⟺ X(u) is an MC(ALT,φ)-set.

                                              This is the key connection between the two definitions of exhaustivity.

                                              Note: We add the explicit hypothesis (hu : φ u) since both directions require it.

                                              theorem Exhaustification.exists_MCset_of_minimal {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (hmin : ∃ (u : World), isMinimal ALT φ u) :
                                              ∃ (E : Set (Prop' World)), isMCSet ALT φ E

                                              MC-set existence from minimal world existence (Spector's approach): When a minimal φ-world exists, an MC-set exists.

                                              This follows directly from Lemma 1: if u is minimal, then X(u) is an MC-set.

                                              theorem Exhaustification.exists_MCset {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (hfin : ALT.Finite) (hsat : ∃ (w : World), φ w) :
                                              ∃ (E : Set (Prop' World)), isMCSet ALT φ E

                                              MC-set existence for finite ALT: When ALT is finite and φ is satisfiable, an MC-set exists.

                                              This combines:

                                              1. exists_minimal_of_finite: finite ALT + satisfiable φ → minimal world exists
                                              2. exists_MCset_of_minimal: minimal world exists → MC-set exists
                                              theorem Exhaustification.IE_structure {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (hfin : ALT.Finite) (ψ : Prop' World) ( : ψ IE ALT φ) (hsat : ∃ (w : World), φ w) :
                                              ψ = φ aALT, ψ = a

                                              Every element of IE is either φ or ∼a for some a ∈ ALT. This follows from the structure of compatible sets.

                                              Note: Requires finite ALT to ensure MC-sets exist.

                                              theorem Exhaustification.lemma2_exhMW_iff_satisfies_MCset {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (u : World) :
                                              exhMW ALT φ u ∃ (E : Set (Prop' World)), isMCSet ALT φ E ψE, ψ u

                                              Lemma 2 (Spector p.23, Core Lemma): For every proposition φ, every set of alternatives ALT, and every world u, exh_mw(ALT, φ)(u) = 1 ⟺ there is an MC_(ALT,φ)-set X that u satisfies.

                                              Equivalently: u is a minimal φ-world relative to <ALT ⟺ there is an MC(ALT,φ)-set X that u satisfies.

                                              theorem Exhaustification.lemma3_exhMW_eq_disj_MCsets {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                              exhMW ALT φ ≡ₚ fun (u : World) => ∃ (E : Set (Prop' World)), isMCSet ALT φ E ψE, ψ u

                                              Lemma 3 (reformulation of Lemma 2): exh_mw(ALT, φ) = ⋁{⋀X : X is an MC_(ALT,φ)-set}

                                              The minimal-worlds exhaustification is the disjunction of the conjunctions of all MC-sets.

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

                                              Proposition 6 (Spector p.12): For any proposition φ with alternatives ALT, exh_mw(ALT, φ) entails exh_ie(ALT, φ).

                                              Proof idea: Any world satisfying exh_mw satisfies some MC-set, hence satisfies the intersection of all MC-sets, hence satisfies IE.

                                              theorem Exhaustification.prop7_IE_iff_exhMW_entails_neg {World : Type u_1} (ALT : Set (Prop' World)) (φ a : Prop' World) (ha : a ALT) :

                                              Proposition 7 (Spector p.12): For any ALT, any a ∈ ALT, and any proposition φ, a is innocently excludable given ALT and φ if and only if exh_mw(ALT, φ) entails ¬a.

                                              This characterizes innocent exclusion in terms of the minimal-worlds operator.

                                              theorem Exhaustification.corollary8 {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (hfin : ALT.Finite) :
                                              exhIE ALT φ ≡ₚ fun (u : World) => φ u aALT, (exhMW ALT φ ⊆ₚ a) → ¬a u

                                              Corollary 8 (Spector p.12): exh_ie(ALT, φ) = φ ∧ ⋀{¬a : a ∈ ALT ∧ exh_mw(ALT, φ) ⊆ ¬a}

                                              This gives an alternative characterization of exh_ie in terms of exh_mw.

                                              Note: The backward direction requires finite ALT for IE_structure.

                                              theorem Exhaustification.theorem9_main {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (hclosed : closedUnderConj ALT) :
                                              exhMW ALT φ ≡ₚ exhIE ALT φ

                                              Theorem 9 (Main Result, Spector p.12-13): For any φ and any ALT, if ALT is closed under conjunction, then

                                              exh_mw(ALT, φ) = exh_ie(ALT, φ)

                                              Proof outline (from Section 5.4): Since exh_mw always entails exh_ie (Prop 6), we need to show exh_ie ⊆ exh_mw when ALT is closed under conjunction.

                                              Suppose exh_mw(φ)(u) = 0 but φ(u) = 1. We must show exh_ie(φ)(u) = 0.

                                              Let A = {a ∈ ALT : a(u) = 1}. Since u is not minimal, every MC-set contains a negation of some member of A. Consider ⋀A. Since every MC-set has a member whose negation is in A, ⋀A is false in every world satisfying an MC-set. Therefore ¬(⋀A) is consistent with every MC-set.

                                              Since ALT is closed under conjunction, ⋀A ∈ ALT. Since ¬(⋀A) is consistent with every MC-set and MC-sets are maximal, ¬(⋀A) ∈ IE. But (⋀A)(u) = 1, so u fails to satisfy IE, hence exh_ie(φ)(u) = 0.

                                              theorem Exhaustification.neg_bigDisj_iff {World : Type u_1} (X : Set (Prop' World)) (w : World) :
                                              ( X) w aX, (a) w

                                              De Morgan for big disjunction: ¬(⋁X) at w iff ∀ a ∈ X, ¬a at w

                                              theorem Exhaustification.subset_disjClosure {World : Type u_1} (ALT ALT' : Set (Prop' World)) (h : ALT' = {p : Prop' World | XALT, p = X}) :
                                              ALT ALT'

                                              The disjunction closure contains the original set (via singleton disjunctions).

                                              theorem Exhaustification.mem_disjClosure_iff {World : Type u_1} (ALT ALT' : Set (Prop' World)) (h : ALT' = {p : Prop' World | XALT, p = X}) (p : Prop' World) :
                                              p ALT' XALT, p = X

                                              Every element of the disjunction closure is a disjunction of ALT elements.

                                              theorem Exhaustification.leALT_disjClosure_eq {World : Type u_1} (ALT ALT' : Set (Prop' World)) (h : ALT' = {p : Prop' World | XALT, p = X}) (u v : World) :
                                              (u ≤[ALT] v) u ≤[ALT'] v

                                              Key lemma: The preorder ≤_ALT is unchanged by disjunction closure.

                                              If ALT' is the disjunction closure of ALT, then u ≤{ALT} v ↔ u ≤{ALT'} v.

                                              Proof: If a disjunction (⋁X) is true at u where X ⊆ ALT, then some b ∈ X is true at u. If u ≤_{ALT} v, then b is true at v, so (⋁X) is true at v.

                                              theorem Exhaustification.ltALT_disjClosure_eq {World : Type u_1} (ALT ALT' : Set (Prop' World)) (h : ALT' = {p : Prop' World | XALT, p = X}) (u v : World) :
                                              (u <[ALT] v) u <[ALT'] v

                                              Corollary: The strict ordering <_ALT is unchanged by disjunction closure.

                                              theorem Exhaustification.exhMW_disjClosure_eq {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (ALT' : Set (Prop' World)) (h : ALT' = {p : Prop' World | XALT, p = X}) :
                                              exhMW ALT φ ≡ₚ exhMW ALT' φ

                                              Corollary: exh_mw is unchanged by disjunction closure.

                                              theorem Exhaustification.theorem10_disj_closure_vacuous {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (hfin : ALT.Finite) (ALT' : Set (Prop' World)) (h : ALT' = {p : Prop' World | XALT, p = X}) :
                                              exhIE ALT φ ≡ₚ exhIE ALT' φ

                                              Theorem 10 (Spector p.13): For any proposition φ and any alternative set ALT, exh_ie(ALT, φ) = exh_ie(ALT∨, φ)

                                              where ALT∨ is the closure of ALT under disjunction.

                                              "Closing the alternatives under disjunction (but crucially not conjunction) is vacuous for exh_ie."

                                              Proof strategy: Use Corollary 8's characterization: exhIE ALT φ ≡ₚ λ u => φ u ∧ ∀ a ∈ ALT, (exhMW ALT φ ⊆ₚ ∼a) → ¬(a u)

                                              Since exhMW is unchanged by disjunction closure, we just need to check that the extra conditions for ALT' (disjunctions) are implied by the ALT conditions.

                                              theorem Exhaustification.corollary11 {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) (hfin : ALT.Finite) (hcond : closedUnderConj {p : Prop' World | YALT, p = Y}) :
                                              exhMW ALT φ ≡ₚ exhIE ALT φ

                                              Corollary 11 (Spector p.13): For any proposition φ and any alternative set ALT, if ALT∨ = ALT∨∧, then exh_mw(ALT, φ) = exh_ie(ALT, φ).

                                              "If the closure of ALT under disjunction is closed under conjunction, applying exh_mw and exh_ie give rise to equivalent results."

                                              @[reducible, inline]

                                              Worlds for some/all example: number of students who passed (0 to 3).

                                              Equations
                                              Instances For

                                                "Some students passed" (at least one).

                                                Equations
                                                Instances For

                                                  "All students passed" (all three).

                                                  Equations
                                                  Instances For

                                                    World where exactly 1 student passed.

                                                    Equations
                                                    Instances For

                                                      World where all 3 students passed.

                                                      Equations
                                                      Instances For

                                                        w=1 satisfies "some students passed".

                                                        w=1 does not satisfy "all students passed".

                                                        w=3 satisfies both "some" and "all".

                                                        w=1 ≤_ALT w=3: alternatives true at w=1 are a subset of those at w=3.

                                                        w=3 does not satisfy ≤_ALT w=1: w=3 satisfies "all" but w=1 does not.

                                                        w=1 <_ALT w=3: strict ordering holds.

                                                        w=1 is minimal among "some"-worlds relative to <_ALT.

                                                        w=3 is not minimal because w=1 <_ALT w=3.

                                                        Main result for some/all: exh_mw(some) holds at w=1.

                                                        This captures the scalar implicature: "some but not all".

                                                        Corollary: exh_mw(some) does not hold at w=3.

                                                        Worlds where "all" holds are excluded by exhaustification.

                                                        Four worlds for or/and example.

                                                        Instances For
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For

                                                            wSang does not satisfy "and".

                                                            wBoth does not satisfy ≤_ALT wSang.

                                                            Main result for or/and: exh_mw(or) at wSang (exclusive reading).

                                                            Corollary: exh_mw(or) excludes the "both" world.

                                                            This is the exclusive disjunction reading.

                                                            For the some/all scale, the stronger alternative (all) entails the weaker (some).

                                                            For the some/all scale: exhMW ≡ exhIE.

                                                            We prove this using Proposition 6 (⊆) and a direct argument for (⊇). The key insight: at any exhIE world, the stronger alternative is false, which means the world is minimal (no world below it satisfies more alternatives).

                                                            For the or/and scale, the stronger alternative (and) entails the weaker (or).

                                                            Theorem 9 application: At w1, both exhMW and exhIE agree.

                                                            Theorem 9 application: At w3, both exhMW and exhIE agree (both false).

                                                            Theorem 9 application: At wSang, both exhMW and exhIE agree.

                                                            Theorem 9 application: At wBoth, both exhMW and exhIE agree (both false).

                                                            Maximize Strength #

                                                            @cite{chierchia-2013} "Logic in Grammar" proposes that scalar implicature computation follows the Maximize Strength principle:

                                                            "Don't add an implicature if it leads to weakening, unless you have to"

                                                            This explains the distribution of scalar implicatures across contexts:

                                                            ContextPolarityEffect of SISI computed?
                                                            Upward EntailingUEStrengthens✓ Yes
                                                            Downward EntailingDEWeakens✗ No

                                                            Examples #

                                                            UE context (positive sentence):

                                                            DE context (antecedent of conditional):

                                                            Connection to Exhaustification #

                                                            Maximize Strength captures when exh is applied:

                                                            Theoretical Significance #

                                                            This principle unifies several phenomena:

                                                            1. Why SIs are optional in positive contexts (strengthening available)
                                                            2. Why SIs disappear in DE contexts (would weaken)
                                                            3. Why NPIs need DE contexts (exhaustification contradicts in UE)
                                                            4. Why FCIs have complex distribution (modal rescue)
                                                            def Exhaustification.Context (World : Type u_2) :
                                                            Type u_2

                                                            A context is a function that embeds a proposition into a larger structure.

                                                            Equations
                                                            Instances For
                                                              def Exhaustification.IsUpwardEntailing {World : Type u_1} (C : Context World) :

                                                              A context is upward entailing (monotone) if φ ⊆ ψ implies C(φ) ⊆ C(ψ).

                                                              Equations
                                                              Instances For
                                                                def Exhaustification.IsDownwardEntailing {World : Type u_1} (C : Context World) :

                                                                A context is downward entailing (antitone) if φ ⊆ ψ implies C(ψ) ⊆ C(φ).

                                                                Equations
                                                                Instances For
                                                                  theorem Exhaustification.exh_in_ue_strengthens {World : Type u_1} (C : Context World) (hUE : IsUpwardEntailing C) (φ exhφ : Prop' World) (hExhStronger : exhφ ⊆ₚ φ) :
                                                                  C exhφ ⊆ₚ C φ

                                                                  In a UE context, exhaustification strengthens the embedded proposition. That is: C(exh(φ)) ⊆ C(φ) when C is UE and exh(φ) ⊆ φ.

                                                                  theorem Exhaustification.exh_in_de_weakens {World : Type u_1} (C : Context World) (hDE : IsDownwardEntailing C) (φ exhφ : Prop' World) (hExhStronger : exhφ ⊆ₚ φ) :
                                                                  C φ ⊆ₚ C exhφ

                                                                  In a DE context, exhaustification weakens the overall sentence. That is: C(φ) ⊆ C(exh(φ)) when C is DE and exh(φ) ⊆ φ.

                                                                  The identity context is upward entailing.

                                                                  Negation context is downward entailing.

                                                                  def Exhaustification.maximizeStrength {World : Type u_1} (φ exhφ : Prop' World) (polarity : Core.NaturalLogic.ContextPolarity) :
                                                                  Prop' World

                                                                  Maximize Strength: compute SI iff context is UE (strengthening).

                                                                  This is the core principle: only apply exhaustification when it results in strengthening of the overall assertion.

                                                                  Equations
                                                                  Instances For
                                                                    def Exhaustification.maximizeStrengthCtx {World : Type u_1} (C : Context World) (φ exhφ : Prop' World) (hUE : Bool) :
                                                                    Prop' World

                                                                    Maximize Strength with explicit context.

                                                                    Equations
                                                                    Instances For
                                                                      theorem Exhaustification.exhMW_strengthens {World : Type u_1} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                                                      exhMW ALT φ ⊆ₚ φ

                                                                      exh_mw strengthens the proposition by conjoining negations of excludable alternatives.

                                                                      theorem Exhaustification.exhMW_strengthens_in_UE {World : Type u_1} (C : Context World) (hUE : IsUpwardEntailing C) (ALT : Set (Prop' World)) (φ : Prop' World) :
                                                                      C (exhMW ALT φ) ⊆ₚ C φ

                                                                      In a UE context, exh_mw results in a stronger overall sentence.

                                                                      theorem Exhaustification.exhMW_weakens_in_DE {World : Type u_1} (C : Context World) (hDE : IsDownwardEntailing C) (ALT : Set (Prop' World)) (φ : Prop' World) :
                                                                      C φ ⊆ₚ C (exhMW ALT φ)

                                                                      In a DE context, applying exh_mw weakens the overall sentence. Hence, Maximize Strength predicts no scalar implicature in DE contexts.

                                                                      Example: "Some students passed" in UE context #

                                                                      Positive sentence: C = id (identity context)

                                                                      Example: "If some students passed,..." (antecedent) #

                                                                      Conditional antecedent: C = (λp. p → q) is DE

                                                                      This matches empirical observations:

                                                                      Maximize Strength predictions summary:

                                                                      Context TypeSI EffectPredictionExample
                                                                      Matrix clause (UE)StrengthensCompute SI"some → not all"
                                                                      Negation scope (DE)WeakensNo SI"not some → some or none"
                                                                      Conditional antecedent (DE)WeakensNo SI"if some, then..."
                                                                      Universal restrictor (DE)WeakensNo SI"every... who saw some..."
                                                                      Question nucleus (NM)NeitherNo SI"Did some...?"
                                                                      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
                                                                            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
                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For

                                                                                  exh_mx: The Third Exhaustification Operator #

                                                                                  @cite{wang-2025} "Presupposition, Competition, and Coherence" introduces exh_mx, which yields one exhaustified proposition per maximal consistent subset (MC-set), rather than intersecting all MC-sets (as exh_ie does).

                                                                                  When all MC-sets agree (i.e., ALT is closed under ∧), exh_mx = exh_ie = exh_mw (by Theorem 9). When MC-sets diverge, exh_mx produces multiple readings—one per MC-set—capturing ambiguity in presuppositional alternatives.

                                                                                  Key relationships: #

                                                                                  def Exhaustification.exhMXReading {World : Type u_2} (E : Set (Prop' World)) :
                                                                                  Prop' World

                                                                                  An exh_mx reading for a specific MC-set E: the conjunction of E.

                                                                                  Unlike exh_ie (which is the conjunction of the intersection of all MC-sets), exh_mx gives one reading per MC-set. When MC-sets disagree about which alternatives to exclude, exh_mx captures the resulting ambiguity.

                                                                                  @cite{wang-2025} Ch4: "exh_mx(ALT, φ, w) = φ(w) ∧ ∀q ∈ Max(φ, ALT)[¬q(w)]" where Max is a specific maximal consistent subset.

                                                                                  Equations
                                                                                  Instances For
                                                                                    def Exhaustification.exhMXReadings {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                                                                    Set (Prop' World)

                                                                                    The set of all exh_mx readings: one per MC-set.

                                                                                    This is the set of propositions, not a single proposition. Each reading corresponds to a different way of consistently excluding alternatives.

                                                                                    Equations
                                                                                    Instances For
                                                                                      theorem Exhaustification.bigConj_exhMX_entails_exhIE {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) (hne : ∃ (E : Set (Prop' World)), isMCSet ALT φ E) :
                                                                                      (fun (u : World) => pexhMXReadings ALT φ, p u) ⊆ₚ exhIE ALT φ

                                                                                      The conjunction of all exh_mx readings entails exh_ie.

                                                                                      Together with exhMXReading_entails_exhIE (each reading entails exh_ie), this gives the full picture of how exh_ie relates to exh_mx readings:

                                                                                      ⋀(readings) ⊆ₚ each reading ⊆ₚ exh_ie
                                                                                      

                                                                                      Note: the REVERSE direction (exhIE ⊆ₚ ⋀ readings) does NOT hold in general. When MC-sets diverge, an MC-set E may contain alternatives ψ ∉ IE. Satisfying all of IE (exhIE) does not guarantee satisfying all of E (a specific reading), because E may require excluding alternatives that other MC-sets include.

                                                                                      theorem Exhaustification.exhMXReading_entails_exhIE {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) (E : Set (Prop' World)) (hmc : isMCSet ALT φ E) :

                                                                                      Every exh_mx reading entails exh_ie.

                                                                                      Since exh_ie is the intersection of all MC-sets and each exh_mx reading is a single MC-set, each reading is at least as strong as exh_ie.

                                                                                      theorem Exhaustification.exhMW_eq_bigDisj_exhMX {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                                                                      exhMW ALT φ ≡ₚ fun (u : World) => pexhMXReadings ALT φ, p u

                                                                                      exh_mw is the disjunction of all exh_mx readings (Lemma 3 restated).

                                                                                      This connects all three operators:

                                                                                      • exh_mw = ⋁(exh_mx readings) (disjunction — some MC-set is satisfied)
                                                                                      • exh_ie = ⋀(exh_mx readings) (conjunction — all MC-sets are satisfied)
                                                                                      • When there is exactly one MC-set: exh_mw = exh_ie = exh_mx
                                                                                      theorem Exhaustification.exhOperators_coincide_under_closure {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) (hclosed : closedUnderConj ALT) :
                                                                                      exhIE ALT φ ≡ₚ fun (u : World) => pexhMXReadings ALT φ, p u

                                                                                      Under conjunction closure, all three exhaustification operators coincide: exh_ie = exh_mw = ⋁(exh_mx readings).

                                                                                      This does NOT mean there is only one reading. When MC-sets diverge, individual readings remain distinct — but their disjunction equals exh_ie.

                                                                                      Combines Theorem 9 (exhMW ≡ₚ exhIE) with Lemma 3 (exhMW ≡ₚ ⋁ readings).

                                                                                      theorem Exhaustification.exhMX_unique_when_unique_MCset {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) {p q : Prop' World} (hp : p exhMXReadings ALT φ) (hq : q exhMXReadings ALT φ) (huniq : ∀ (E₁ E₂ : Set (Prop' World)), isMCSet ALT φ E₁isMCSet ALT φ E₂E₁ = E₂) :
                                                                                      p ≡ₚ q

                                                                                      When there is a unique MC-set, all exh_mx readings are equivalent.

                                                                                      MC-set uniqueness is a stronger condition than conjunction closure alone. It holds when ALT has additional structural properties (e.g., symmetric closure under both conjunction and disjunction, per @cite{spector-2016}).

                                                                                      FLAT: Collapsing Nested Alternative Sets #

                                                                                      @cite{wang-2025} Ch4 defines the FLAT operator for collapsing nested alternative sets (sets of sets of propositions) into a flat set via cross-product conjunction.

                                                                                      Given S = {A₁, A₂,...} where each Aᵢ is a set of propositions, FLAT(S) = {⋀{f(Aᵢ) | i} | f is a choice function picking one from each Aᵢ}

                                                                                      This is proved equivalent to @cite{groenendijk-stokhof-1984} pointwise answerhood (Ans_PW).

                                                                                      def Exhaustification.flat {World : Type u_2} (S : Set (Set (Prop' World))) :
                                                                                      Set (Prop' World)

                                                                                      FLAT: Collapse a family of alternative sets into a flat set via cross-product conjunction. Each element of FLAT(S) is the conjunction of one choice from each alternative set in S.

                                                                                      @cite{wang-2025} Ch4: FLAT({A₁,...,Aₙ}) = {a₁ ∧... ∧ aₙ | aᵢ ∈ Aᵢ}

                                                                                      Uses a total choice function restricted to S to avoid dependent types.

                                                                                      Equations
                                                                                      Instances For
                                                                                        theorem Exhaustification.flat_singleton {World : Type u_2} (A : Set (Prop' World)) :
                                                                                        flat {A} = A

                                                                                        FLAT of a singleton is the set itself.

                                                                                        theorem Exhaustification.flat_empty {World : Type u_2} :
                                                                                        flat = {fun (x : World) => True}

                                                                                        FLAT of the empty family is the tautology set.

                                                                                        Innocent Inclusion #

                                                                                        From @cite{bar-lev-fox-2020}, Definition (51):

                                                                                        II(p, C) = ∩{C'' ⊆ C : C'' is maximal s.t. {r : r ∈ C''} ∪ {p} ∪ {¬q : q ∈ IE(p,C)} is consistent}

                                                                                        After computing IE, find all maximal subsets of alternatives that can consistently be assigned TRUE (given that IE alternatives are false). An alternative is innocently includable iff it appears in ALL such maximal sets.

                                                                                        def Exhaustification.isIICompatible {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) (R : Set (Prop' World)) :

                                                                                        Definition (II-compatible set): A set of propositions R is (ALT, φ, IE)-compatible for inclusion if: a) R ⊆ ALT b) {r : r ∈ R} ∪ {φ} ∪ {¬q : q ∈ IE(ALT, φ)} is consistent

                                                                                        Equations
                                                                                        • One or more equations did not get rendered due to their size.
                                                                                        Instances For
                                                                                          def Exhaustification.isMISet {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) (R : Set (Prop' World)) :

                                                                                          Definition (MI-set): Maximal II-compatible set. A set R is maximally (ALT, φ, IE)-compatible if it is II-compatible and not properly included in any other II-compatible set.

                                                                                          Equations
                                                                                          Instances For
                                                                                            def Exhaustification.II {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                                                                            Set (Prop' World)

                                                                                            Definition (II): II(ALT, φ) = {r ∈ ALT : r belongs to every MI-set}

                                                                                            An alternative r is innocently includable iff it belongs to every MI-set.

                                                                                            Equations
                                                                                            Instances For
                                                                                              def Exhaustification.isInnocentlyIncludable {World : Type u_2} (ALT : Set (Prop' World)) (φ a : Prop' World) :

                                                                                              An alternative a is innocently includable given ALT and φ if and only if a ∈ II(ALT, φ).

                                                                                              Equations
                                                                                              Instances For
                                                                                                def Exhaustification.exhIEII {World : Type u_2} (ALT : Set (Prop' World)) (φ : Prop' World) :
                                                                                                Prop' World

                                                                                                Definition (Exh^{IE+II}): The exhaustivity operator with both IE and II.

                                                                                                ⟦Exh^{IE+II}⟧(ALT)(φ)(w) ⇔ φ(w) ∧ ∀q ∈ IE(ALT,φ)[¬q(w)] ∧ -- exclude IE alternatives ∀r ∈ II(ALT,φ)[r(w)] -- include II alternatives

                                                                                                This is Bar-Lev & Fox's key operator that derives free choice.

                                                                                                Equations
                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                Instances For

                                                                                                  Decidable Innocent Exclusion #

                                                                                                  The exhIE above is a specification: it quantifies over all Set (Prop' World), so it cannot be evaluated computationally. The functions below implement the same algorithm over [Fintype World] types using Bool-valued meanings and explicit subset enumeration. This makes them usable by native_decide and rsa_predict.

                                                                                                  def Exhaustification.isSatBool {W : Type} (worlds : List W) (f : WBool) :

                                                                                                  Satisfiability check over an explicit list of worlds.

                                                                                                  Equations
                                                                                                  Instances For
                                                                                                    def Exhaustification.entailsBool {W : Type} (worlds : List W) (f g : WBool) :

                                                                                                    Pointwise entailment over an explicit list of worlds.

                                                                                                    Equations
                                                                                                    Instances For

                                                                                                      All sublists (subsets) of a list of indices.

                                                                                                      Equations
                                                                                                      Instances For
                                                                                                        def Exhaustification.ieIndicesBool {W : Type} (worlds : List W) (prejacent : WBool) (alts : List (WBool)) :

                                                                                                        Innocent Exclusion over Bool-valued meanings: find indices of alternatives that appear in every maximal consistent exclusion set. worlds must enumerate all inhabitants of W.

                                                                                                        Equations
                                                                                                        • One or more equations did not get rendered due to their size.
                                                                                                        Instances For
                                                                                                          def Exhaustification.applyIEBool {W : Type} (worlds : List W) (prejacent : WBool) (alts : List (WBool)) :
                                                                                                          WBool

                                                                                                          Apply Innocent Exclusion: conjoin prejacent with negations of IE alternatives. worlds must enumerate all inhabitants of W.

                                                                                                          Equations
                                                                                                          • One or more equations did not get rendered due to their size.
                                                                                                          Instances For