[BC24b]: Effect-Driven Interpretation #
[BC24b] cast diverse semantic phenomena — scope, binding, conventional implicature, indeterminacy — as algebraic effects in the Functor → Applicative → Monad hierarchy, with meta-combinators lifting the basic modes of combination into the presence of effects. This study formalizes that framework over linglib's effect carriers:
| Effect | Type | linglib carrier |
|---|---|---|
| Scope | (α → ρ) → ρ | Cont R A (Composition/Continuation) |
| CI / supplementation | α × List P | Writer (List P) A (Composition/WriterMonad) |
| Input (binding) | ι → α | Reader (Reference/Binding) |
| Output (antecedent) | α × ι | Prod |
| Indeterminacy | {α} | Set |
Main declarations #
F̄/F̃(Functor),A(Applicative),J(Monad),counitApp(the W⊣R co-unitC) — modes of combination lifting application into effects.- The W⊣R adjunction
Φ/Ψ/adj_η/adj_ε: binding is the co-unit. binding_C_agrees_with_hkand the three-way unification: adjunction binding ≡ Heim-Kratzer assignment binding ≡ theWcombinator.
Crossover #
[BC24b] §5.2: crossover is inherited from the
non-commutativity of the W⊣R adjunction. counitApp fires the co-unit
ε only when the W (antecedent) is the left daughter. With the
pronoun's R on the left, scope may still invert — the antecedent outscopes
the pronoun — yet binding never resolves: "anaphoric ships passing in the
night." There is no recovery mechanism; the account is categorical.
The Crossover namespace (§10) formalizes this: the dissociation
(scope_inversion_no_binding), the structural derivation (combine/derive,
returning either the bound co-unit reading or the Reader-retaining residual),
and the phenomenon-neutral bridge derive_bound_iff_precedes — the bound
reading derives iff the antecedent linearly precedes the pronoun. The
Owusu/Chierchia bí/biara functional-reading asymmetry ([Owu22] §3.3.2,
[Chi01]) is one instance; superiority and primary/secondary crossover
are others over the same derive.
This diverges from [SB06], whose left-to-right Scope rule
admits a marked right-to-left Z variant that recovers weak crossover as a
gradient, defeasible reading (their continuation-level mechanism: a binder
must take effect at the pronoun's continuation level, so crossing fails to
unify under Down). Formalizing the S&B continuation calculus and the
non-coincidence theorem between the two accounts is deferred — there is no
S&B substrate in linglib yet.
Implementation notes #
Scope-as-bind-order (scope_ambiguity_is_bind_order et al.) lives with the
Cont monad in Composition/Continuation; this study consumes it.
The eject combinators (Ū/Ũ/⊿) of Figure 10 are not formalized.
§1 Typeclass instances for existing types #
The W effect is mathlib's Writer (List P) (= WriterT (List P) Id), whose
Functor/Applicative/Monad instances come from mathlib, with
LawfulMonad and the val/log/tell surface in
Composition/WriterMonad.lean. The Cont R instances live with the
type in Composition/Continuation.lean.
§2 Meta-combinators #
central contribution: meta-combinators
that build higher-order modes of combination from basic ones. Given any
binary combinator (∗) :: σ → τ → ω (e.g., function application), these
produce new combinators that work when one or both daughters carry effects.
| Meta-combinator | Effectful daughters | Hierarchy | Paper ref |
|---|---|---|---|
| F̄ (Map Left) | left | Functor | Figure 4 |
| F̃ (Map Right) | right | Functor | Figure 4 |
| A (Structured App) | both | Applicative | Figure 7 |
| J (Join) | both + nested | Monad | Figure 8 |
| C (Co-unit) | adjoint pair | Adjunction | Figure 10 |
F̄, F̃, A, and J are parameterized over any effect type Σ for which the appropriate typeclass (Functor/Applicative/Monad) holds. C is defined in §4, parameterized over an adjunction (specifically W ⊣ R).
F̄ (Map Left): lift a binary combinator when the left daughter carries an effect.
eq. 2.17a, Figure 4:
F̄(∗) E₁ E₂ := (λa. a ∗ E₂) • E₁
Equations
- BumfordCharlow2024.mapL star e₁ e₂ = (fun (a : σ) => star a e₂) <$> e₁
Instances For
F̃ (Map Right): lift a binary combinator when the right daughter carries an effect.
eq. 2.17b, Figure 4:
F̃(∗) E₁ E₂ := (λb. E₁ ∗ b) • E₂
Equations
- BumfordCharlow2024.mapR star e₁ e₂ = (fun (b : τ) => star e₁ b) <$> e₂
Instances For
A (Structured Application): lift when both daughters carry effects of the same type, merging them into a single layer.
eq. 3.10, Figure 7:
A(∗) E₁ E₂ := η(∗) ⊛ E₁ ⊛ E₂
Equations
- BumfordCharlow2024.structuredApp star e₁ e₂ = pure star <*> e₁ <*> e₂
Instances For
J (Join): monadic flattening for when the basic combinator
produces a nested effect F(F ω).
eq. 4.22, Figure 8:
J(∗) E₁ E₂ := μ(E₁ ∗ E₂) where μ is monadic join.
Equations
- BumfordCharlow2024.joinMode star e₁ e₂ = BumfordCharlow2024.structuredApp star e₁ e₂ >>= id
Instances For
Forward application: f > x := f x.
Equations
- BumfordCharlow2024.fa' f x = f x
Instances For
Backward application: x < f := f x.
Equations
- BumfordCharlow2024.ba' x f = f x
Instances For
Eq. 3.6: (•) = η + (⊛). The functorial map decomposes as pure (η) the function, then applicatively sequence (⊛).
eq. 3.6: k • m := η k ⊛ m
Structured Application with a pure left reduces to Map Right:
A(∗)(η a)(E₂) = F̃(∗)(a)(E₂).
Follows from the Homomorphism and Identity laws for applicatives (eq. 3.4).
§3 Generalized Application and hierarchy theorems #
The meta-combinators instantiated to forward application (>) yield the familiar hierarchy of composition rules:
- FA: ordinary function application (the identity functor, no effects)
- Functorial map: pure function + effectful argument = F̃(>)
- Applicative ap: both effectful = A(>)
- Monadic bind: sequenced effects
H&K's FA is the base case — the identity functor applied to ordinary (effect-free) meanings.
Functorial application: pure function, effectful argument.
This is the (•) map operation from
eq. 2.3, with the forward variant (•>) from Figure 3.
Equations
- BumfordCharlow2024.fApp f ma = f <$> ma
Instances For
Applicative application: both function and argument effectful.
This is (⊛) from eq. 3.3 — the
applicative functor's sequencing operation.
Equations
- BumfordCharlow2024.aApp mf ma = mf <*> ma
Instances For
Monadic application: both effectful, with sequencing.
Enabled by (≫=) from Ch. 4. Every
monad determines an applicative via eq. 4.19a:
F ⊛ X = F ≫= λf. f • X.
Equations
- BumfordCharlow2024.mApp mf ma = do let f ← mf f <$> ma
Instances For
FA is functorial application for the identity functor.
Applicative application = Structured Application applied to FA.
(⊛) is A(>) — the meta-combinator A instantiated to forward
application (eq. 3.10).
§4 The W ⊣ R adjunction for binding #
§5.1 proposes that binding arises from an
adjunction between the output effect W (= product) and the input
effect R (= reader). The adjunction W ⊣ R says that functions out of
pairs α × ι → β are isomorphic to curried functions α → ι → β —
this is just currying.
The co-unit ε of this adjunction — which takes a pair ⟨f, x⟩ and
applies f to x — IS the binding mechanism. When an antecedent stores
itself via ▷(x) = ⟨x, x⟩ and the sentence body uses the bound variable,
the co-unit ε yields the W combinator W κ x = κ x x from
Binding.lean.
Note: the paper's W (product) is distinct from Writer (List P) A
(accumulating list log). The product W models single-referent storage;
the Writer models CI accumulation.
Φ (currying): convert from uncurried to curried form.
eq. 5.3: Φ := λcaλx. c ⟨a, x⟩
Equations
- BumfordCharlow2024.Φ c a x = c (a, x)
Instances For
Ψ (uncurrying): convert from curried to uncurried form.
eq. 5.3: Ψ := λk⟨a, x⟩. k a x
Equations
- BumfordCharlow2024.Ψ k p = k p.1 p.2
Instances For
Φ and Ψ are inverses (curry-uncurry round-trip).
Ψ and Φ are inverses (uncurry-curry round-trip).
η (unit) of W ⊣ R: η a x = ⟨a, x⟩.
eq. 5.4: η := Φ id
Equations
- BumfordCharlow2024.adj_η a x = (a, x)
Instances For
ε (co-unit) of W ⊣ R: ε ⟨f, x⟩ = f x.
eq. 5.4: ε := Ψ id
The co-unit extracts the value by applying the stored function to the stored referent — this IS binding resolution.
Equations
- BumfordCharlow2024.adj_ε p = p.1 p.2
Instances For
The co-unit applied to reflexive binding yields the W combinator.
When an antecedent x stores itself (via ▷(x) = ⟨x, x⟩) and the
sentence body κ has been partially applied to x, we get
ε(κ x, x) = κ x x = W κ x.
This connects adjunction-based binding
to the W combinator in Binding.lean.
H&K assignment-based binding and the adjunction co-unit agree
for reflexive binding: both produce body(binder, binder).
This connects the adjunction (§5.1 of the paper) to the existing
hk_bs_reflexive_equiv theorem in Binding.lean.
The C meta-combinator #
eq. 5.8, Figure 10: the co-unit meta-combinator uses the adjunction's ε to compose W-computations (antecedent storage) with R-computations (pronoun resolution). For W ⊣ R, C reduces to unpacking the stored referent and feeding it to the reader function.
C (Co-unit): the adjunction-based meta-combinator for binding.
eq. 5.8, Figure 10:
C(∗) E₁ E₂ := ε((λl. (λr. l ∗ r) • E₂) • E₁)
For the W ⊣ R adjunction (§5.1), where W α = α × ι (product)
and R α = ι → α (reader), the two fmap operations compose the
binary combinator with both computations, and ε extracts the result:
C(∗) ⟨s, i⟩ f = s ∗ f(i)
Crossover (§5.2): The type signature encodes the crossover
constraint — the W effect (antecedent, σ × ι) must be the left
daughter and the R effect (pronoun, ι → τ) the right daughter.
Swapping them produces a type error, not a binding failure: there
is no well-typed counitApp star (e₂ : ι → τ) (e₁ : σ × ι).
Equations
- BumfordCharlow2024.counitApp star e₁ e₂ = star e₁.1 (e₂ e₁.2)
Instances For
C decomposes as ε applied to the doubly-mapped product.
The general formula maps (λr. l ∗ r) over E₂ (R-fmap = ∘),
maps the result over E₁ (W-fmap on the first component),
then applies ε to extract the value.
C with reflexive storage ▷(x) = ⟨x, x⟩ and identity reader yields W.
When an antecedent stores itself and the pronoun is the identity
reader, C(>) reduces to the W combinator from Binding.lean:
C(>) ⟨κ x, x⟩ id = κ x x = W κ x.
This connects adjunction mechanism (their central §5 contribution) to the classical duplicator combinator that underlies binding.
§5 Effect operations and handlers #
Named operations from, connecting existing linglib infrastructure to the effect/handler pattern.
Effects (introduce computational context):
aside: Log a CI proposition (=Writer.tell)
Handlers (eliminate computational context):
handleScope: Lower aContto its result (=Cont.lower)handleCI: Extract at-issue value and CI log fromWriter
Handle the scope effect by evaluating with the identity continuation.
Alias for Cont.lower.
Equations
Instances For
Handle CI effects by extracting the value and accumulated log.
Equations
- BumfordCharlow2024.handleCI m = (m.val, m.log)
Instances For
PA capability under effects #
Tree.PredAbs records which effects admit Predicate Abstraction. The
negative instances are theoretical content, not bookkeeping: they state
in the type system that QR/PA-style binding is unavailable under these
effects, so scope and binding must come from effect sequencing instead
(bind-order, the W ⊣ R adjunction of §4).
Scope effects do not support Predicate Abstraction: a distributor
(Entity → Cont R α) → Cont R (Entity → α) would have to run one
continuation at every entity simultaneously. Binding under scope arises
from bind-order instead (§7).
Equations
- BumfordCharlow2024.instPredAbsCont = { dist? := none }
CI effects do not support Predicate Abstraction: the log of
⟦β⟧^{g[n↦x]} may vary with x, so no log-respecting distributor
exists. CI content composes around abstraction, not through it.
Equations
- BumfordCharlow2024.instPredAbsWriter = { dist? := none }
§6 Bridge theorems #
Connect the effect framework to existing linglib constructions, proving that independently-developed linglib modules are instances of the effect-driven architecture.
Lowering a Cont is handling the scope effect.
A TwoDimProp embeds into a Writer (List (W → Prop)) (W → Prop):
the at-issue content is the value, the CI is the log.
This connects [Pot05]'s two-dimensional semantics to Writer effect (their W constructor in Table 2).
Equations
- BumfordCharlow2024.twoDimToWriter p = Writer.mk p.atIssue [p.ci]
Instances For
CI projection universality. Any operation that acts via <$>
(i.e., transforms the value but leaves the log untouched)
automatically preserves all CI content.
This is the general principle behind CI projection through negation, conditionals, and questions: they are all Functor maps on the Writer. Projection is not a special property of each operator — it is the Functor law.
Specializes to twoDim_neg_ci_via_writer when f = fun p w => !p w.
CI projection through negation follows from the Writer architecture:
map transforms the value but leaves the log untouched.
The at-issue content of negation is pointwise negation of the original.
Run a CI Writer by conjoining all log entries with the value.
This is the Writer counterpart of shunting (↓ from
[KG24]): peripheral content is folded into
the at-issue dimension via conjunction, and the CI dimension
becomes trivial. The result is a TwoDimProp with all information
in the at-issue dimension.
For a single-CI Writer (the standard case from twoDimToWriter),
this computes atIssue w && ci w — identical to the shunt
function in Semantics.Quotation.MixedQuotation.
For multi-CI Writers (e.g., "that bastard John met that jerk Pete" with two CI entries), this conjoins all CIs into at-issue content.
Equations
Instances For
Running a CI Writer consumes the log: the result has trivial CI.
Running a Writer with an empty log preserves the value unchanged.
Running a Writer with a trivially-true log entry preserves the value unchanged.
Pure quotation = clearing the log to [λ _ => True]. Running
such a Writer recovers the original at-issue content.
Single-CI round-trip. Embedding a TwoDimProp into Writer then
running conjoins the at-issue and CI dimensions — exactly the
shunting operation ↓ from [KG24].
This is definitionally equal to shunt from
Semantics.Quotation.MixedQuotation.
Function-level version: the round-trip is shunting as a function, not just at a single world.
Log compositionality. Running a Writer whose log is a concatenation = running the first part, then folding the rest on top.
This is the multi-CI generalization of shunting. When Writer.bind
sequences two CI-producing computations (e.g., "that bastard John
met that jerk Pete"), their logs are concatenated. Running the result
conjoins all CIs into the at-issue dimension.
Follows from List.foldl_append.
Idempotency. Running, re-embedding, and running again = running once.
After runCIWriter consumes the log, the CI dimension is trivial.
Re-embedding (via twoDimToWriter) creates a [fun _ => true] log.
Running again conjoins with true, which is the identity.
This is the retraction property: runCIWriter ∘ twoDimToWriter is
idempotent on the image of runCIWriter.
A generalized quantifier IS a Cont Prop Entity value.
Ch. 4: the continuation monad is the
algebraic effect for scope-taking. A GQ (e → t) → t IS
Cont Prop Entity by definition.
Equations
- BumfordCharlow2024.gqAsCont gq = gq
Instances For
A Cont Prop Entity value IS a generalized quantifier.
Equations
Instances For
every_sem applied to a restrictor is a Cont Prop Entity value.
Equations
- BumfordCharlow2024.every_as_cont restrictor = BumfordCharlow2024.gqAsCont (Quantification.every_sem restrictor)
Instances For
some_sem applied to a restrictor is a Cont Prop Entity value.
Equations
- BumfordCharlow2024.some_as_cont restrictor = BumfordCharlow2024.gqAsCont (Quantification.some_sem restrictor)
Instances For
Lowering a scope-taking quantifier = applying it to the scope.
Scope resolution via Cont agrees with direct GQ application for "every student sleeps": the Cont derivation produces the same Prop.
Scope resolution via Cont agrees with direct GQ application for "some student sleeps".
Surface scope (∀>∃) via continuation composition agrees with direct GQ application.
Inverse scope (∃>∀) via continuation composition agrees with direct GQ application.
Surface scope reading holds in the toy model.
Inverse scope reading does not hold in the toy model.
The two scope orderings via Cont yield genuinely different readings,
matching HeimKratzer1998.scope_readings_differ.
The tree engine under effects #
Tree.interp is polymorphic over the effect functor: the same type-driven
engine that implements H&K at M = Id lifts through any [Applicative M].
At the FA mode that lifting is literally the meta-combinator A — a
framework-level identity, no toy lexicon required. Worked tree-level
derivations at M = Cont (scope) and M = Writer (CI) live in
Studies/BumfordCharlow2024.lean alongside the toy-model demonstrations.
The engine's FA mode applies the function daughter to the argument through
Applicative's <*> — the substrate lemma Tree.tryFA_forward. With
aApp_eq_structuredApp_fa, this composes into "FA = meta-combinator A at
forward application": the H&K engine and the effect calculus share one application
operation.
Binding via the C meta-combinator #
Worked derivation connecting C (eq. 5.8) to existing binding infrastructure over the toy model.
The W combinator W κ x = κ x x is the shared link between three
independent binding mechanisms:
- C (co-unit meta-combinator):
C(<) ▷(x) body = W body x - H&K (assignment-based):
body (g[n↦x] n) (g[n↦x] n) = W body x - [Cha18]'s Reader join:
denotGJoin body = W body(proven inCharlow2018.lean:denotGJoin_is_W)
The derivation follows §5.1: the subject
stores itself as an antecedent via ▷(x) = ⟨x, x⟩ (a W-computation),
the reflexive pronoun is the identity reader (an R-computation), and
C resolves the binding by feeding the stored referent to the reader.
Antecedent storage: ▷(x) = ⟨x, x⟩.
eq. 5.1b: an entity stores its referent in the W (product) effect, making it available for downstream binding via the co-unit ε.
Equations
- BumfordCharlow2024.store x = (x, x)
Instances For
C(<) with storage yields the W combinator.
Backward-application variant of counitApp_reflexive_is_W:
C(<) ▷(x) body = body x x = W body x.
Reflexive binding: "John sees himself" via C.
The subject stores itself (▷(john) = ⟨john, john⟩), the reflexive
pronoun resolves to the object via the identity reader, and C(<)
merges them: C(<) ▷(j) (λi. sees i) = sees j j = False.
The False result confirms the toy model has no reflexive seeing (John sees Mary and Mary sees John, but neither sees themselves).
C-based binding agrees with H&K assignment-based binding:
both compute sees(g[1↦j](1), g[1↦j](1)) = sees(j, j).
This connects adjunction mechanism to [HK98]'s predicate abstraction.
C and H&K agree for Mary as well: C(<) ▷(m) (λi. sees i) = sees m m.
§7 General scope agreement #
The ScopeBridge section (§6) proved Cont ↔ QR agreement for the toy model
via native_decide. Here we prove the agreement is structural: it holds
for any type, any quantifier, and any predicate — not because we checked
all cases, but because the two approaches compute the same function.
The key insight: Cont R E := (E → R) → R is literally a generalized
quantifier. The identity function gqAsCont witnesses this — there is no
encoding, no coercion, no wrapper. So the Cont derivation is GQ
application by definition.
Scope ambiguity in the Cont framework is not a special mechanism: it is
the order of monadic bind. Surface scope = bind the subject first;
inverse scope = bind the object first. The bind order IS the scope order,
and lower IS GQ application.
This establishes Cont as a general scope framework, with QR trees as one particular syntax for specifying bind order.
The generic scope-as-bind-order facts (scope_ambiguity_is_bind_order
et al.) now live with the Cont monad in Composition/Continuation; this
study consumes them. What remains here is the bridge to QR trees.
QR scope = Cont scope via lambdaAbsG: the structural connection between QR trees and Cont derivations.
In a QR tree [Q [n body]], Predicate Abstraction produces
Q(λx. ⟦body⟧^{g[n↦x]}) = Q(lambdaAbsG n body g).
In a Cont derivation, lower(bind(Q, λx. pure(body(g[n↦x]))))
= Q(λx. body(g[n↦x])) = Q(lambdaAbsG n body g).
Both compute the same thing: the quantifier applied to the predicate abstraction of its scope. QR and Cont differ only in how scope order is specified (tree structure vs bind order), not in what they compute.
§8 Three-way binding unification #
Three independently-developed binding mechanisms in linglib all compute
the same operation f e e:
| Source | Operation | Definition | File |
|---|---|---|---|
| [HK98] | denotGJoin (μ) | λg. f g g | Variables.lean |
| [BS14] | W (duplicator) | W κ x = κ x x | Binding.lean |
adj_ε (co-unit) | ε(f e, e) = (f e) e | Effects.lean §4 |
The individual two-way bridges exist:
denotGJoin_is_W(Charlow2018.lean)adj_counit_yields_W(Effects.lean§4)
Here we close the triangle with a single three-way theorem.
Three-way W: the duplicator, Reader join, and adjunction co-unit
all compute f e e. This is the universal binding mechanism.
The identity is definitional: the three frameworks are not merely extensionally equal but intensionally identical up to currying/pairing.
Specialization for Montague assignments: denotGJoin = W = adj_ε
when applied to assignment-dependent meanings.
Closing the triangle directly: denotGJoin = adj_ε ∘ ⟨f·, ·⟩.
denotGJoin ──── rfl ────→ W
\ |
\ |
rfl \ rfl |
↘ ↓
adj_ε ∘ ⟨f·, ·⟩
§9 Indeterminacy effect #
The indeterminacy effect — labeled S in's
Table 2 — is the set monad (S, η, ⫝̸) from [Cha20],
formalized in Studies/Charlow2020.lean.
| Effect | η (pure) | ⫝̸ (bind) | Linguistic use |
|---|---|---|---|
| Scope (C) | λκ. κ x | λκ. m(λa. f a κ) | Quantifier scope |
| CI (W) | ⟨x, []⟩ | ⟨(f m.val).val, m.log ++ ...⟩ | Supplements |
| Binding (R) | λ_. x | λe. f(m e) e | Assignment-sensitivity |
| Indeterminacy (S) | {x} | ⋃_{a ∈ m} f(a) | Indefinites, focus, wh |
The set monad's applicative instance is pointwise composition — the standard mechanism of alternative semantics ([Ham73], [KS17]). Its monadic bind is scope-taking — the mechanism [Cha20] argues is needed for exceptional scope.
The applicative is strictly weaker: it cannot derive selectivity (§5.4 of the paper) or the Binder Roof Constraint (§6.4). The monad can.
The set monad's pure is the indeterminacy effect's pure — the
singleton {x}, which as a Set α = α → Prop is fun y => y = x.
The set monad's >>= is the indeterminacy effect's bind — for
m : Set A (= A → Prop) and f : A → Set B, the result at b
is ∃ a, m a ∧ f a b.
Indeterminacy obeys ASSOCIATIVITY — the property [Cha20]
leans on to derive exceptional scope. Mathlib's bind_assoc for
Set. Distinguishes the full monad from the mere applicative;
without it, indefinites cannot iteratively scope out of nested
islands ([Cha20] eq. 34, Figure 7).
§10 Crossover #
[BC24b] §5.2 derive weak crossover from the non-commutativity of
the W⊣R co-unit: counitApp fires ε only with the antecedent (W) as the left
daughter, so scope (which may invert freely) and binding-availability dissociate
— the antecedent must linearly precede the pronoun, "even while semantic scope
may be arbitrarily inverted." This is phenomenon-neutral; weak crossover, the
Owusu/Chierchia functional-reading asymmetry (below), superiority ([SB06]:
raised-wh trace = W, in-situ wh = R), and primary/secondary crossover are all
instances over the one derivation.
The two outcomes of combining an antecedent (W) and a pronoun (R) #
The pronoun is a Reader pro : ι → ω; the antecedent is a stored referent a : ι
(W). The co-unit discharges the Reader — feeding a into pro's index — only with
the antecedent as the LEFT daughter. The result records which happened: a bound
reading loses the Reader; a crossover keeps it.
Antecedent-left: the co-unit binds the pronoun's index to the antecedent
(= counitApp, the C combinator). The Reader is discharged.
Equations
- BumfordCharlow2024.Crossover.coUnitBinds star a pro = BumfordCharlow2024.counitApp star (BumfordCharlow2024.store a) pro
Instances For
Pronoun-left: the antecedent is carried but the pronoun reads its own FREE index
— never the antecedent ("ships passing in the night"). The Reader persists
(result ι → ω).
Equations
- BumfordCharlow2024.Crossover.shipsPassing star a pro i = star a (pro i)
Instances For
ε ⟨pro, a⟩ = pro a: the antecedent binds the pronoun's index.
The residual differs at two indices, so it is not a constant (bound) reading — the Reader is not dischargeable (the "R constructor remains open" of §5.14).
The dissociation: even with the antecedent quantified wide (W outscoping R), the pronoun reads its free index for every antecedent — binding never happens. Binding-availability depends on the antecedent/pronoun order alone, not on scope.
The derivation from structure, over real linear positions #
Equations
- (BumfordCharlow2024.Crossover.Reading.bound v).isBound = true
- (BumfordCharlow2024.Crossover.Reading.crossover residual).isBound = false
Instances For
Combine two ordered daughters STRUCTURALLY: W-left-R-right fires the co-unit
(coUnitBinds); R-left-W-right is crossover, the residual being shipsPassing.
(Same-role pairs are not binder+pronoun configs.)
Equations
- One or more equations did not get rendered due to their size.
- BumfordCharlow2024.Crossover.combine star x✝¹ x✝ = none
Instances For
Order the W (at wPos) and R (at rPos) by real linear position, then combine.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The crossover bridge: the bound reading derives iff the antecedent linearly
precedes the pronoun. The < is on real positions, combine is structural, and the
equivalence is proven — mutating combine's W-left arm breaks it.
When the antecedent precedes, the derived reading is the co-unit binding.
When the pronoun precedes (crossover), the derived reading retains the Reader,
its residual exactly shipsPassing.
Instance: the Owusu/Chierchia functional-reading asymmetry #
[Owu22] §3.3.2 (after [Chi01]): the Akan indefinite bí's skolem index is a pronoun (R), bound by biara 'every' (the antecedent, W). Akan SVO fixes the linear order, and the subject/object asymmetry computes via the bridge.
Equations
- BumfordCharlow2024.Crossover.instDecidableEqArg x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Akan SVO linear order: the subject precedes the object.
Equations
Instances For
bí-OBJECT: biara (W) is the subject (0), bí (R) the object (1); 0 < 1, so
the functional reading derives — the co-unit binding. The attested ambiguity.
bí-SUBJECT: biara (W) is the object (1), bí (R) the subject (0); ¬(1 < 0),
so the functional reading does NOT derive — weak crossover.