Trinh & Haida 2015: Constraining the Derivation of Alternatives #
@cite{trinh-haida-2015}
Trinh, T. & Haida, A. (2015). Constraining the derivation of alternatives. Natural Language Semantics, 23(4), 249–270.
Core Contribution #
The Atomicity constraint (def 32): expressions in the substitution source are syntactically atomic — their internal structure is inaccessible to structural operations. This refines @cite{fox-katzir-2011} / @cite{katzir-2007} to correctly distinguish:
Symmetry-breaking cases (§3.2.2): "Bill ran and didn't smoke. John ran." → John smoked. Atomicity blocks "ran ∧ smoked" from F(S), so A = {run, run ∧ ¬smoke} satisfies Conditions on A (27), and EXH derives ¬(run ∧ ¬smoke).
Symmetry-preserving cases (§3.2.3): "Bill ate exactly three. John ate three." → ✗John ate exactly three. Atomicity is vacuous; Conditions on A (27c) force "four" into A, creating symmetry.
Key Definitions #
inBooleanClosure: p is determined by a set of propositions (27c)isValidDomain: Conditions on A (27) for EXH domainsATree/ATStructOp: parse trees with AT-marking; structural operations that cannot enter AT-marked nodesstructuralAlternativesAT: F_AT(S) ⊆ F(S)
A proposition p is in the Boolean closure of alts:
p is determined by the truth values of elements of alts.
Whenever two worlds agree on all elements of alts, they agree
on p. Used in Condition (27c).
Equations
Instances For
Extensional equality on a finite domain.
Equations
- Alternatives.AtomicConstraint.propEqOn domain p q = domain.all fun (w : W) => p w == q w
Instances For
Extensional membership via propEqOn.
Equations
- Alternatives.AtomicConstraint.propMemOn domain p alts = alts.any fun (a : W → Bool) => Alternatives.AtomicConstraint.propEqOn domain p a
Instances For
Conditions on A (27): A is a valid domain of EXH for
prejacent S given formal alternatives formalAlts = F(S).
(27a) A ⊆ F(S) (27b) S ∈ A (27c) No S' in F(S) \ A is in the Boolean closure of A
Equations
- One or more equations did not get rendered due to their size.
Instances For
Parse tree with optional AT-marking. AT-marked nodes (atNode)
preserve content for semantic interpretation but are inaccessible
to structural operations — implementing the Atomicity constraint
(def 32): "Expressions in the substitution source are syntactically
atomic."
- leaf {W : Type} (cat : Core.Tree.Cat) (word : W) : ATree W
- node {W : Type} (cat : Core.Tree.Cat) (children : List (ATree W)) : ATree W
- atNode {W : Type} (cat : Core.Tree.Cat) (content : Core.Tree.Tree Core.Tree.Cat W) : ATree W
Instances For
Equations
- (Alternatives.AtomicConstraint.ATree.leaf c word).cat = c
- (Alternatives.AtomicConstraint.ATree.node c children).cat = c
- (Alternatives.AtomicConstraint.ATree.atNode c content).cat = c
Instances For
Expand to Tree Cat by unsealing AT-marked nodes.
Equations
- (Alternatives.AtomicConstraint.ATree.leaf c word).expand = Core.Tree.Tree.terminal c word
- (Alternatives.AtomicConstraint.ATree.node c children).expand = Core.Tree.Tree.node c (Alternatives.AtomicConstraint.ATree.expand.expandList children)
- (Alternatives.AtomicConstraint.ATree.atNode c content).expand = content
Instances For
Equations
Instances For
Lift a Tree Cat to ATree (no AT-marking).
Traces and binders are wrapped as opaque AT-marked nodes, since
they are LF-specific structure inaccessible to PF-level operations.
Equations
- Alternatives.AtomicConstraint.ATree.lift (Core.Tree.Tree.terminal c w) = Alternatives.AtomicConstraint.ATree.leaf c w
- Alternatives.AtomicConstraint.ATree.lift (Core.Tree.Tree.node c cs) = Alternatives.AtomicConstraint.ATree.node c (Alternatives.AtomicConstraint.ATree.lift.liftList cs)
- Alternatives.AtomicConstraint.ATree.lift (Core.Tree.Tree.trace n c) = Alternatives.AtomicConstraint.ATree.atNode c (Core.Tree.Tree.trace n c)
- Alternatives.AtomicConstraint.ATree.lift (Core.Tree.Tree.bind n c body) = Alternatives.AtomicConstraint.ATree.atNode c (Core.Tree.Tree.bind n c body)
Instances For
Equations
Instances For
Structural operation respecting Atomicity. Like StructOp but
inChild can only descend into .node, NOT .atNode. AT-marked
material is opaque to further syntactic manipulation.
- subst {W : Type} {source : List (ATree W)} {φ ψ : ATree W} (h_cat : ψ.cat = φ.cat) (h_src : ψ ∈ source) : ATStructOp source φ ψ
- delete {W : Type} {source : List (ATree W)} {cat : Core.Tree.Cat} {cs : List (ATree W)} (i : Fin cs.length) : ATStructOp source (ATree.node cat cs) (ATree.node cat (cs.eraseIdx ↑i))
- contract {W : Type} {source : List (ATree W)} {cat : Core.Tree.Cat} {cs : List (ATree W)} {child : ATree W} (h_mem : child ∈ cs) (h_cat : child.cat = cat) : ATStructOp source (ATree.node cat cs) child
- inChild {W : Type} {source : List (ATree W)} {cat : Core.Tree.Cat} {cs : List (ATree W)} (i : Fin cs.length) {ψ_child : ATree W} (h_step : ATStructOp source (cs.get i) ψ_child) : ATStructOp source (ATree.node cat cs) (ATree.node cat (cs.set (↑i) ψ_child))
Instances For
AT-constrained reachability (reflexive-transitive closure).
Equations
- Alternatives.AtomicConstraint.atReachable source ψ φ = Relation.ReflTransGen (Alternatives.AtomicConstraint.ATStructOp source) φ ψ
Instances For
The substitution source with Atomicity:
lexical items + subtrees of S are lifted (transparent);
contextual constituents are wrapped in atNode (opaque).
Equations
- One or more equations did not get rendered due to their size.
Instances For
F_AT(S): formal alternatives derivable under Atomicity.
S' ∈ F_AT(S) iff ∃ ATree t reachable from lift(S) via
AT-constrained operations with t.expand = S'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Symmetry Breaking #
(34) Bill went for a run and didn't smoke. John (only) went for a run. Inference: ¬[John went for a run and didn't smoke] → John smoked.
Atomicity blocks "ran ∧ smoked" from F(S) because deriving it requires modifying the interior of the AT-marked contextual constituent "ran ∧ ¬smoked" (removing the NegP). This leaves A = {run, run ∧ ¬smoke} as a valid domain satisfying (27c), and EXH(A)(run) = run ∧ smoke.
Equations
- Alternatives.AtomicConstraint.instBEqAW.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
A satisfies all three Conditions on A (27). Crucially, (27c) holds: neither "smoke" nor "¬smoke" is in BC({run, run ∧ ¬smoke}) because the 4-world domain distinguishes them from all Boolean combinations.
EXH(A)(run) = run ∧ smoke: the correct empirical inference. exhB negates "run ∧ ¬smoke" (the only non-weaker alternative in A), deriving that John smoked.
Symmetry Preserving #
(41) Bill ate exactly three cookies. John (only) ate three cookies. *Inference: ¬[John ate exactly three cookies]
Atomicity is vacuous here (alternatives are derived by simple lexical substitution). The non-attested inference is blocked by Conditions on A (27c): "four" ∈ BC({three, exactly_three}), so excluding "four" from A is impossible, but including it creates symmetry.
Equations
- Alternatives.AtomicConstraint.instBEqCW.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
"four" is in BC({three, exactly_three}): worlds agreeing on both "three" (always true) and "exactly_three" always agree on "four", because four ≡ three ∧ ¬exactly_three on this domain.
A = {three, exactly_three} violates (27c): "four" is excluded from A but is in BC(A).
A = F(S) = {three, exactly_three, four} satisfies (27).
"exactly_three" and "four" are symmetric alternatives of "three": they partition its denotation.
With A = F(S) (the only valid domain), exhB is vacuous: the symmetric alternatives make exhaustification identity.
Switching Problem Constraints #
For structures where a weak scalar item embeds a strong one (e.g., [some[all]]), Atomicity alone is insufficient. The paper adds three constraints on the derivation of formal alternatives:
(60a) Only non-AT-marked expressions are replaceable. (60b) The most deeply embedded replaceable expression must be replaced first (bottom-up). (60c) No replacement may yield a sentence logically weaker than the prejacent.
These constraints prevent "some" and "all" from switching places
under negation while still allowing the correct indirect implicature
derivation. (60a) is already captured by ATStructOp (no inChild
into atNode). (60b) and (60c) are additional derivation-order and
semantic monotonicity constraints:
(60b) Bottom-up ordering: the replacement position must be at
least as deeply embedded as any other replaceable position.
Modeled as a property of a derivation step at position pos
in a tree of depth maxDepth.
Equations
- Alternatives.AtomicConstraint.bottomUpOrdering pos maxReplaceable = (pos ≥ maxReplaceable)
Instances For
(60c) Semantic monotonicity: the result of a replacement step must not be logically weaker than the input (on the domain).