Docs / Semantics / Composition / Extensional

Extensional operators

import Linglib.Semantics.Composition.Extensional · namespace Montague

An operator on intensions is extensional at an index when its value there depends only on its argument's extension there: negation is extensional, necessity is not, and among adjectives gray is and skillful is not. An operator is extensional exactly when it is a function on extensions applied index by index, and at an index where it is extensional it cannot tell a variable it binds from one fixed there. Necessity is extensional only at a world that accesses no world but itself.

Main definitions

Implementation notes

Extensionality at w is the statement that O · w factors through evaluation at w, and that it depends, in the sense of mathlib's DependsOn, on the coordinate w alone. Kamp's condition for an extensional adjective takes a single function on extensions for every index; the function here may vary with the index, as in his gloss of the condition and as his claim that every predicative adjective is extensional requires.

References

Declarations

O is extensional at w when its value at w depends on its argument only through the argument's extension at w.

def IsExtensionalAtL46–49
{W : Type u_1} {α : Type u_2} {β : Type u_3} (O : (W → α) → W → β) (w : W) :
  • IsExtensionalAt O w = ∀ ⦃p q : W → α⦄, p w = q w → O p w = O q w

Used by IsExtensional, isExtensionalAt_iff_factorsThrough, isExtensionalAt_iff_dependsOn, not_isExtensionalAt_iff, isExtensionalAt_iff_forall_const, isExtensionalAt_iff_exists, isExtensionalAt_iff_forall_diag, isExtensionalAt_box_iff, isExtensionalAt_id, isExtensionalAt_const, isExtensionalAt_not, IsExtensionalAt.comp, IsExtensionalAt.comp_left, IsExtensionalAt.comp₂, IsExtensionalAt.not, IsExtensionalAt.and, IsExtensionalAt.or

Used in Semantics/Composition/Mode, Semantics/Reference/Rigidity, HeimKratzer1998, Zimmermann2026

L57–59
L61–62
L64–65
L67–71
L73–74

An operator is extensional at w exactly when it does not distinguish an argument whose index it binds, fun v ↦ g v v, from the same argument with the index fixed at w, g w.

theorem isExtensionalAt_iff_forall_diagL84–88
{W : Type u_1} {α : Type u_2} {β : Type u_3} {O : (W → α) → W → β} {w : W} :
IsExtensionalAt O w ↔ ∀ (g : W → W → α), O (fun (v : W) => g v v) w = O (g w) w

Built from

Necessity

Closure