Copredication: @cite{gotham-2017}'s account + bridge data #
@cite{asher-2011} @cite{gotham-2017} @cite{pustejovsky-1995} @cite{chatzikyriakidis-etal-2025}
Copredication is the phenomenon where predicates selecting different semantic aspects apply to the same polysemous noun phrase ("the book is heavy and interesting"). This study file owns:
- The TTR dot-type infrastructure (formerly
Theories/Semantics/TypeTheoretic/Copredication.lean, absorbed here as the only consumer per linglib's substrate-by-need rule). - The canonical empirical data (formerly
Polysemy/Data.lean, dissolved per the provenance-tracking policy). - Bridge theorems connecting (1) and (2).
Empirical phenomena #
- Book copredication: "The book is heavy and interesting" — heavy selects physical object, interesting selects informational content.
- Counting under copredication: "Three books were mastered and burned" — ambiguous between counting physical volumes vs. informational contents.
- Lunch copredication: "The lunch was delicious but took forever" — delicious selects food, took forever selects event.
Bridge theorems #
- Copredication is well-typed via meet-type projection.
- Different individuation criteria yield different counts.
- The counting puzzle from @cite{gotham-2017} is reproduced.
Copredication #
Copredication applies predicates selecting different aspects to the
same pair-typed argument. The aspects are accessed via Prod.fst/.snd
projections (= the MeetType projections in TTR's Core).
Apply a predicate selecting the first aspect.
Equations
- Phenomena.Polysemy.copred₁ P x = P x.1
Instances For
Apply a predicate selecting the second aspect.
Equations
- Phenomena.Polysemy.copred₂ P x = P x.2
Instances For
Copredication: conjunction of predicates on different aspects. "The book is heavy and interesting" = heavy(book.phys) ∧ interesting(book.info).
Equations
- Phenomena.Polysemy.copredicate P Q x = (P x.1 ∧ Q x.2)
Instances For
Copredication factors into independent aspect predicates.
Dot types #
A dot type bundles two aspect types with a Setoid for individuation.
The individuation is part of the lexical specification — "book" =
⟨PhysObj, Info, individuate by volume⟩ — not just the raw product type.
Values of a dot type are pairs A₁ × A₂ (= MeetType A₁ A₂ in TTR).
A dot type: a polysemous type with two aspects and an individuation
criterion (a Setoid). The individuation determines counting under
copredication. @cite{chatzikyriakidis-etal-2025} §3.
- individuation : Setoid (A₁ × A₂)
How to individuate objects of this complex type
Instances For
Individuate by the first aspect. "book" individuated physically: two copies of Hamlet count as two.
Equations
- Phenomena.Polysemy.DotType.byAspect₁ = { individuation := { r := fun (x y : A₁ × A₂) => x.1 = y.1, iseqv := ⋯ } }
Instances For
Individuate by the second aspect. "book" individuated informationally: two copies of Hamlet count as one.
Equations
- Phenomena.Polysemy.DotType.byAspect₂ = { individuation := { r := fun (x y : A₁ × A₂) => x.2 = y.2, iseqv := ⋯ } }
Instances For
Count distinct individuals in a list under a Setoid.
Uses a simple quadratic distinctness check (fine for finite linguistic examples).
Equations
- Phenomena.Polysemy.countDistinct s xs = (List.foldl (fun (seen : List α) (x : α) => if (seen.any fun (e : α) => decide (s e x)) = true then seen else x :: seen) [] xs).length
Instances For
Different individuation criteria can yield different counts for the same collection. This is the formal content of @cite{chatzikyriakidis-etal-2025} §3's counting puzzle.
Acceptability judgment for copredication examples.
- acceptable : Acceptability
- marginal : Acceptability
- unacceptable : Acceptability
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- Phenomena.Polysemy.instDecidableEqAcceptability x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
A copredication datum: a sentence with two predicates on different aspects.
- sentence : String
The sentence
- noun : String
The polysemous noun
- aspect₁ : String
The aspect selected by the first predicate
- aspect₂ : String
The aspect selected by the second predicate
- judgment : Acceptability
Acceptability judgment
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical book copredication example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lunch copredication: food + event aspects.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Newspaper copredication: organization + physical aspects.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A counting-under-copredication datum.
- sentence : String
The sentence
- noun : String
The polysemous noun
- physicalCount : ℕ
Count under physical individuation
- informationalCount : ℕ
Count under informational individuation
- countsDiverge : Bool
Whether the two counts diverge
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
"Three books were mastered and burned" with two copies of the same novel. @cite{gotham-2017}: physical count = 3, informational count = 2 (if one novel has two copies).
Equations
- Phenomena.Polysemy.masteredAndBurned = { sentence := "Three books were mastered and burned", noun := "book", physicalCount := 3, informationalCount := 2, countsDiverge := true }
Instances For
All copredication data points.
Equations
Instances For
All copredication data points are acceptable.
Book as a dot type #
Physical-object aspect of a book.
- weight : ℕ
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- Phenomena.Polysemy.Bridge.instDecidableEqPhysObj.decEq { weight := a } { weight := b } = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Informational-content aspect of a book.
- title : String
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Phenomena.Polysemy.Bridge.instDecidableEqInfo.decEq { title := a } { title := b } = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
"book" as a dot type: physical × informational, individuated physically. @cite{gotham-2017}: the default criterion for "book" counts physical volumes.
Instances For
"heavy": a predicate on the physical aspect.
Equations
- Phenomena.Polysemy.Bridge.heavy threshold p = (p.weight > threshold)
Instances For
"interesting": a predicate on the informational aspect.
Equations
- Phenomena.Polysemy.Bridge.interesting _i = True
Instances For
"The book is heavy and interesting" is well-typed copredication. This is the formal content of bookHeavyInteresting from Data.lean.
Counting under copredication #
Model the scenario from @cite{gotham-2017} / @cite{chatzikyriakidis-etal-2025} §3: Two physical copies of one novel, plus one copy of a different novel. Physical count = 3, informational count = 2.
Three books: two copies of "Hamlet" and one of "Ulysses".
Equations
- Phenomena.Polysemy.Bridge.hamlet1 = ({ weight := 200 }, { title := "Hamlet" })
Instances For
Equations
- Phenomena.Polysemy.Bridge.hamlet2 = ({ weight := 210 }, { title := "Hamlet" })
Instances For
Equations
- Phenomena.Polysemy.Bridge.ulysses = ({ weight := 400 }, { title := "Ulysses" })
Instances For
Equations
Instances For
Physical individuation: count by PhysObj (weight distinguishes copies).
Informational individuation: count by Info (title).
Instances For
Under physical individuation: 3 distinct objects.
Under informational individuation: 2 distinct contents.
The counting datum from Data.lean is reproduced. This bridges the empirical datum to the TTR formalization.
Counts diverge, as predicted by the datum.