Documentation

Linglib.Theories.Semantics.Exhaustification.Combinators

Excluder Combinators #

@cite{fox-2007} @cite{magri-2009} @cite{fox-katzir-2011} @cite{trinh-haida-2015}

Two combinators on Excluder W, modelling the two ways a base excluder can be modified by linguistic constraints:

The Fox–Katzir asymmetry #

@cite{fox-katzir-2011}'s central thesis distinguishes the contextual restriction C (what is contextually relevant) from the formal alternative source F (what counts as an alternative at all). They argue that C cannot break symmetry — only F can. As an algebraic theorem about excluder combinators:

So the structural asymmetry that @cite{fox-katzir-2011} state as a constraint on theories of alternatives falls out, in this library, as an algebraic fact about which combinator one chose: post-filter (restrict) is conservative; pre-filter (preFilter) is not.

Linguistic instantiations #

CombinatorUse site
magri RRelevance.leaninnocent.restrict R
_ .preFilter PAlternatives/AtomicConstraint.lean — Trinh–Haida F_AT ⊊ F
def Exhaustification.Excluder.restrict {W : Type u_1} [Fintype W] [DecidableEq W] (E : Excluder W) (R : Finset WBool) :

Restrict an excluder to alternatives satisfying R. The exh result grows: dropping exclusions can only let more worlds through.

Equations
  • E.restrict R = { excluded := fun (ALT : Finset (Finset W)) (φ : Finset W) => {aE.excluded ALT φ | R a = true}, excluded_subset := }
Instances For
    @[simp]
    theorem Exhaustification.Excluder.restrict_excluded {W : Type u_1} [Fintype W] [DecidableEq W] (E : Excluder W) (R : Finset WBool) (ALT : Finset (Finset W)) (φ : Finset W) :
    (E.restrict R).excluded ALT φ = {aE.excluded ALT φ | R a = true}
    theorem Exhaustification.Excluder.restrict_const_true {W : Type u_1} [Fintype W] [DecidableEq W] (E : Excluder W) :
    (E.restrict fun (x : Finset W) => true) = E

    A constantly-true relevance predicate leaves the excluder unchanged.

    theorem Exhaustification.Excluder.exh_subset_restrict_exh {W : Type u_1} [Fintype W] [DecidableEq W] (E : Excluder W) (R : Finset WBool) (ALT : Finset (Finset W)) (φ : Finset W) :
    E.exh ALT φ (E.restrict R).exh ALT φ

    Restricting an excluder enlarges (or preserves) its exh: fewer exclusions means a weaker conjunction.

    theorem Exhaustification.Excluder.restrict_preserves_no_implicature {W : Type u_1} [Fintype W] [DecidableEq W] (E : Excluder W) (R : Finset WBool) (ALT : Finset (Finset W)) (φ ψ : Finset W) (h : ¬E.exh ALT φ ψ) :
    ¬(E.restrict R).exh ALT φ ψ

    Fox–Katzir positive half (algebraic form): restrict cannot create an implicature. If the base excluder's exhaustified meaning is not contained in ψ, neither is the restricted excluder's.

    Contrapositively: an implicature licensed under E.restrict R was already licensed under E. The contextual modifier can drop implicatures, never add them. This is the algebraic statement of @cite{fox-katzir-2011}'s claim that contextual restriction C cannot break symmetry.

    def Exhaustification.Excluder.preFilter {W : Type u_1} [Fintype W] [DecidableEq W] (E : Excluder W) (P : Finset WBool) :

    Pre-filter the alternative set before the excluder sees it. The base excluder runs on ALT.filter P, not ALT. Removing alternatives can change which of the survivors are innocently excludable, so the resulting exh is not monotone in P.

    Equations
    • E.preFilter P = { excluded := fun (ALT : Finset (Finset W)) (φ : Finset W) => E.excluded ({aALT | P a = true}) φ, excluded_subset := }
    Instances For
      @[simp]
      theorem Exhaustification.Excluder.preFilter_excluded {W : Type u_1} [Fintype W] [DecidableEq W] (E : Excluder W) (P : Finset WBool) (ALT : Finset (Finset W)) (φ : Finset W) :
      (E.preFilter P).excluded ALT φ = E.excluded ({aALT | P a = true}) φ
      theorem Exhaustification.Excluder.preFilter_const_true {W : Type u_1} [Fintype W] [DecidableEq W] (E : Excluder W) :
      (E.preFilter fun (x : Finset W) => true) = E

      A constantly-true pre-filter leaves the excluder unchanged.

      The two-world canonical symmetric pair: ALT = {{true}, {false}}, φ = univ. Both alternatives partition the prejacent, so neither is innocently excludable, and innocent.exh ALT φ = φ. Pre-filtering to keep only {true} removes the symmetric partner; the surviving alternative becomes excludable, and (innocent.preFilter P).exh = {false}.

      This is the smallest possible witness that preFilter is non-monotone: strict pre-filtering produced a strictly smaller exh.

      theorem Exhaustification.preFilter_can_create_implicature :
      ∃ (E : Excluder Bool) (ALT : Finset (Finset Bool)) (φ : Finset Bool) (ψ : Finset Bool) (P : Finset BoolBool), ¬E.exh ALT φ ψ (E.preFilter P).exh ALT φ ψ

      Fox–Katzir negative half (algebraic form): there exist a base excluder, alternative set, prejacent, conclusion, and pre-filter such that the base excluder fails to license the implicature ψ, but the pre-filtered excluder does.

      Witness: the canonical symmetric pair on Bool. innocent over {{true}, {false}} is vacuous (both alternatives are symmetric, so neither is innocently excludable). Removing {false} via preFilter leaves {true} as a non-symmetric singleton alternative, which then becomes excludable, strengthening exh from univ to {false}.

      Compare restrict_preserves_no_implicature (positive half): this strengthening is impossible for restrict, because its monotonicity is structural. The asymmetry between restrict and preFilter is exactly @cite{fox-katzir-2011}'s thesis that C cannot break symmetry but F can.