Exhaustification: abstract excluder #
@cite{fox-2007} @cite{chierchia-2013} @cite{magri-2009} @cite{santorio-2018}
Different exhaustification theories disagree on which alternatives the
operator should negate, but agree on the rest of the architecture: assert
the prejacent and negate the chosen alternatives. This module factors out
the agreement: an Excluder is a strategy for choosing alternatives, and
Excluder.exh applies it.
Concrete excluders live in sibling modules:
Innocent.lean— Fox 2007 innocent exclusionTolerant.lean— Chierchia 2013 contradiction-tolerating exclusionRelevance.lean— Magri 2009 relevance-sensitive exclusion
Why a structure rather than a type class #
Excluders are first-class data: a single semantic theory may invoke several (e.g. recursive exhaustification with two different excluders at two layers). They are not properties of a world type to be inferred by typeclass resolution.
Convert a Bool predicate on worlds to its support Finset.
Equations
- Exhaustification.predToFinset p = {w : W | p w = true}
Instances For
Convert a list of Bool predicates to a Finset of supports.
Uses DecidableEq (Finset W) (free from [DecidableEq W]); does
NOT need DecidableEq (W → Bool).
Equations
- Exhaustification.altsFromPreds alts = (List.map Exhaustification.predToFinset alts).toFinset
Instances For
An exhaustification strategy: a choice, for each prejacent and alternative set, of which alternatives to negate.
Different theories instantiate excluded differently (Fox's innocent
exclusion, Chierchia's contradiction-tolerating, Magri's
relevance-sensitive, Santorio's stability). The excluded_subset
field guarantees the strategy only picks alternatives that were
offered.
- excluded : Finset (Finset W) → Finset W → Finset (Finset W)
Given a prejacent
φand an alternative setALT, return the alternatives whose negation should be conjoined withφ. The strategy returns a sub-collection of the offered alternatives.
Instances For
Exhaustified meaning: assert the prejacent and negate every
excluded alternative. A world w survives iff w ∈ φ and w ∉ a
for every a ∈ E.excluded ALT φ.
Instances For
The exhaustified meaning is contained in the prejacent.