Sutton (2024) — Common Nouns as Predicates vs. Types #
@cite{sutton-2024} @cite{chatzikyriakidis-luo-2020} @cite{cooper-2023} @cite{luo-2012} @cite{pustejovsky-1995}
@cite{sutton-2024} surveys the choice between Montagovian
predicate denotations (man : Entity → Bool) and TTR/MTT type
denotations (Man : Type, with a : Man witnessing manhood). The
choice is not a notational variant: it determines whether selectional
restriction violations are type errors or merely false, and
whether co-extensional predicates can be intensionally distinguished.
This study file owns both halves of the argument:
- §1. Bridge — formal equivalence where Montague and TTR coincide
(basic extensional predication), via
predToPtype/ptypeToPred. - §2. Selectional restrictions as type errors — Sutton's §4 argument, demonstrated on a small Animate/Inanimate ontology.
- §3. Hyperintensionality — Sutton's §3.1 argument: TTR's
ITypepreserves intensional distinctions Montague's predicate equality collapses (groundhog ≠ woodchuck). - §4. Equivalence boundary — the exact extent of the equivalence.
- §5. SubtypeOf-bearing typed composition — Sutton's §4 / Luo's
MTT direction: subtyping makes
restrictwork, removing instances breaks named theorems. - §6. Complement coercion — meaning-changing type shifts
(telic quale: "enjoy the book" → "enjoy reading the book"),
contrasted structurally with
restrict.
This file consolidates the former TypeTheoretic/CNsAsTypes.lean
(§§1–4) and TypeTheoretic/Selectional.lean (§§5–6), absorbed here
under their shared Sutton-2024 anchor. Neither had any external
consumer beyond this study's argument.
Lift a Montague predicate E → Bool to a TTR ptype E → Type.
The resulting type family is inhabited at e iff p e = true.
Equations
- Phenomena.Polysemy.Studies.Sutton2024.predToPtype p e = Semantics.TypeTheoretic.propT (p e = true)
Instances For
Inhabitation of predToPtype p e is decidable (since p e = true is).
Equations
- Phenomena.Polysemy.Studies.Sutton2024.predToPtype_decidable p e = if h : p e = true then isTrue ⋯ else isFalse ⋯
Project a TTR ptype back to a Montague predicate. Requires decidable inhabitation (satisfied by any finite ptype).
Equations
- Phenomena.Polysemy.Studies.Sutton2024.ptypeToPred P e = decide (Nonempty (P e))
Instances For
Bridge theorem: Montague predication and TTR type inhabitation
agree when connected by predToPtype.
p e = true ↔ Nonempty (predToPtype p e) — the predicate holds of e
iff the corresponding ptype is inhabited (has a witness).
The round-trip ptypeToPred ∘ predToPtype recovers the original predicate.
TTR propExtension coincides with our bridge on lifted predicates.
In Montague's STT, every entity has the same type e. A verb like
"laugh" takes any entity and returns true or false. There is no
structural distinction between a category mistake ("the chair laughed")
and contingent falsity ("Mary didn't laugh").
In TTR/MTT, verbs can require arguments of specific types. "Laugh"
takes Animate, not Entity. A chair is not Animate, so the
predication doesn't compose — it's not false, it's ill-typed.
@cite{sutton-2024} §4: "In MTT [...] common nouns are interpreted as types [...] selectional restrictions are type requirements."
Ontological sorts (TTR types for entity subclasses).
Instances For
Instances For
In Montague, everything is an Entity. Chairs and people cohabit.
- john : FlatEntity
- mary : FlatEntity
- chair : FlatEntity
- rock : FlatEntity
Instances For
Equations
- Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.instDecidableEqFlatEntity x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Montague predicate: laughs is defined on ALL entities.
Equations
- Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.laughs_montague Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.FlatEntity.john = true
- Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.laughs_montague Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.FlatEntity.mary = false
- Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.laughs_montague Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.FlatEntity.chair = false
- Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.laughs_montague Phenomena.Polysemy.Studies.Sutton2024.SelectionalDemo.FlatEntity.rock = false
Instances For
In Montague, "the chair laughed" composes and evaluates to false.
It's the same kind of thing as "Mary didn't laugh" — both are false.
There's no structural way to distinguish category mistakes from
contingent falsity — both are just false.
TTR predicate: laughs is typed to require Animate arguments.
"The chair laughed" doesn't evaluate to false — it doesn't typecheck.
Equations
Instances For
In TTR, contingent falsity (Mary doesn't laugh) is well-typed but false.
Category mistakes (chair laughs) don't typecheck at all. The selectional
restriction prevents composition, rather than evaluating to false.
Montague predicates are functions E → Bool. Two predicates with
the same extension are definitionally equal by funext. TTR types
carry intensional identity — two types can have the same witnesses
yet remain distinct.
@cite{sutton-2024} §3.1: "there is nothing which prevents two types from being associated with exactly the same set of objects."
Two Montague predicates with the same extension are equal.
The consequence for attitude reports: Montague cannot distinguish "John believes a groundhog is outside" from "John believes a woodchuck is outside" — the belief content is the same function. TTR can.
TTR preserves the distinction: groundhog ≠ woodchuck as ITypes, even when co-extensional. Attitude verbs can be sensitive to this.
For basic extensional predication over a fixed domain without
selectional restrictions or attitude contexts, Montague predicates
and TTR ptypes are interchangeable. The bridge is predToPtype/
ptypeToPred, and the equivalence is montague_ttr_equiv.
The approaches diverge exactly when:
- Selectional restrictions matter (§2)
- Hyperintensional contexts arise (§3)
- Copredication requires dot types (see
Studies/Gotham2017.lean)
These are precisely @cite{sutton-2024}'s arguments for rich type theories.
Summary: the predicate/type duality is an equivalence modulo three phenomena. We can state the exact boundary.
Makes SubtypeOf from TypeTheoretic/Core.lean load-bearing by
wiring it into typed composition. Verbs declare the ontological sort
they require; composition through restrict succeeds only when
SubtypeOf A B is available. Removing a SubtypeOf instance breaks
the downstream derivation — that is the "load" the instance bears.
Instances For
Equations
- Phenomena.Polysemy.Studies.Sutton2024.SubtypeDemo.instDecidableEqHuman 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
- fido : Animal
Instances For
Equations
- Phenomena.Polysemy.Studies.Sutton2024.SubtypeDemo.instDecidableEqAnimal 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
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- Phenomena.Polysemy.Studies.Sutton2024.SubtypeDemo.instDecidableEqPhysObj 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
- hamlet_info : Info
Instances For
Equations
- Phenomena.Polysemy.Studies.Sutton2024.SubtypeDemo.instDecidableEqInfo 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
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Each instance is load-bearing: removing it breaks a named theorem below. The hierarchy:
Human ⊑ Animate ⊑ Entity
Animal ⊑ Animate
PhysObj ⊑ Entity
Info ⊑ Entity
Composite: Human ⊑ Entity via Human ⊑ Animate ⊑ Entity.
Composite: Animal ⊑ Entity.
Restrict a property to a subtype domain.
Given P : Ppty B and [SubtypeOf A B], produce Ppty A by coercing
the argument up before applying P.
This is typed function application: the semantic
analogue of checking that the argument type is a subtype of the
parameter type. If no SubtypeOf instance exists, composition fails
at the Lean type level — a category mistake, not a truth-value failure.
Equations
Instances For
"laugh" selects for Animate.
Equations
- One or more equations did not get rendered due to their size.
Instances For
"think" selects for Human.
Equations
Instances For
"fall" accepts any Entity.
Equations
- One or more equations did not get rendered due to their size.
- Phenomena.Polysemy.Studies.Sutton2024.SubtypeDemo.falls (Phenomena.Polysemy.Studies.Sutton2024.SubtypeDemo.Entity.physObj a) = Unit
- Phenomena.Polysemy.Studies.Sutton2024.SubtypeDemo.falls (Phenomena.Polysemy.Studies.Sutton2024.SubtypeDemo.Entity.info a) = Empty
Instances For
Each theorem exercises a specific SubtypeOf instance. Removing
the instance makes the theorem fail to typecheck — the instance
literally bears the load of the derivation.
Compositional derivations with typed NPs #
"john" as a typed quantifier over Human.
Equations
Instances For
"fido" as a typed quantifier over Animal.
Equations
Instances For
"a human who thinks" = typed indefinite with Human restrictor.
Equations
Instances For
"john laughs" = ⟦john⟧(restrict ⟦laugh⟧) Uses instHumanAnimate to compose Human quantifier with Animate VP.
Equations
- One or more equations did not get rendered due to their size.
Instances For
"fido laughs" = ⟦fido⟧(restrict ⟦laugh⟧) Uses instAnimalAnimate.
Equations
- One or more equations did not get rendered due to their size.
Instances For
"a human who thinks laughs" = ⟦a human who thinks⟧(restrict ⟦laugh⟧) Uses instHumanAnimate. The ExistWitness requires a Human who both thinks (restrictor) and laughs (scope, via coercion).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Direct Human ⊑ Entity and chained Human ⊑ Animate ⊑ Entity produce the same result. This is the content of the coherence requirement on subtyping: the diagram commutes.
Unlike SubtypeOf (identity-preserving: a human IS an animate
entity), complement coercion is meaning-changing: the coerced entity
is a DIFFERENT thing. "John enjoyed the book" doesn't mean John enjoyed
a physical object — it means he enjoyed reading it. The book is
coerced to an event via the telic quale.
This is a distinct mechanism from subtyping, and conflating them would lose the meaning change.
- reading : SubtypeDemo.PhysObj → Activity
- building : SubtypeDemo.PhysObj → Activity
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Complement coercion: a meaning-changing type shift triggered by
type mismatch. The coerce function produces a new entity in the
target type, not a view of the old one.
- coerce : A → B
Instances
Telic quale: books coerce to reading events.
"enjoy" selects for Activity.
Equations
Instances For
Compose through complement coercion. Structurally parallel to
restrict but semantically different: the argument changes identity.
Equations
Instances For
"enjoy the book" via complement coercion.
restrict ≠ coerceApply #
The structural distinction: restrict composes with SubtypeOf.up
(the argument IS-A member of the supertype), while coerceApply
composes with ComplementCoercion.coerce (the argument is MAPPED TO
a different entity). Both produce Ppty A from Ppty B, but the
semantic relationship is different.
Consequence: "John fell" (restrict: John is an entity) and "John enjoyed the book" (coerceApply: the book became a reading event) are composed by different mechanisms, and the type system keeps them apart.
restrict preserves identity: coercion is a subsumption.
coerceApply changes identity: coercion is a type-shift.