An intension of type τ over indices W: a function from worlds to extensions.
@cite{gallin-1975}'s Ty2 type system: every type τ has an intensional
counterpart (s,τ) interpreted as W → ⟦τ⟧.
Equations
- Core.Intension W τ = (W → τ)
Instances For
A rigid designator: an intension that returns the same value at every world.
Equations
- Core.Intension.rigid x x✝ = x
Instances For
rigid is a section (right inverse) of world-evaluation: embedding an
entity as a rigid intension and then evaluating recovers the entity.
Function-level formulation of evalAt_rigid. Together with
rigid_evalAt_lossy, this establishes τ as a retract of Intension W τ
via the section-retraction pair (rigid, evalAt · w).
The reverse composition — evaluating and re-embedding — is lossy:
it collapses non-rigid intensions to their value at w.
If f is non-rigid, rigid (f w) ≠ f because rigid (f w) is the constant
function at f w, which disagrees with f at the worlds where f varies.
Together with rigid_section, this shows that τ is a proper retract of
Intension W τ: the round-trip rigid ∘ evalAt · w is the identity on the
image of rigid but collapses everything else.
rigid is injective: different values give different intensions.
Two intensions are co-extensional (agree at every world).
Equations
- f.CoExtensional g = ∀ (w : W), f w = g w
Instances For
Kripke's necessity of identity: if two rigid designators co-refer at any world, they are co-extensional (and hence the same intension).
This is the formal kernel of the @cite{kripke-1980} argument: "Hesperus" and "Phosphorus" are both rigid; if they co-refer at the actual world then they pick out the same object at every world, so "Hesperus = Phosphorus" is necessary if true.
Iff version of the necessity of identity: for rigid designators, co-reference at ANY world is equivalent to co-reference at EVERY world. Identity between rigid designators is never contingent — all or nothing.
Stable Character (@cite{kaplan-1989} §XIX Remarks 5-8) #
A character is stable iff it assigns the same content at every context.
@cite{kaplan-1989} @cite{von-fintel-heim-2011} Remark 5: non-indexical expressions have stable character —
their content does not depend on the context of utterance. This generalizes
constantCharacter from Reference/Basic.lean to the framework-agnostic level.
Equations
- Core.Intension.StableCharacter char = ∀ (c₁ c₂ : C), char c₁ = char c₂
Instances For
@cite{partee-1973}'s three-way interpretive classification for referential expressions. Applies uniformly to pronouns (entity variables) and tenses (temporal variables).
| Mode | Pronouns | Tenses |
|---|---|---|
| indexical | "I" → agent of context | present → speech time |
| anaphoric | "he" → salient individual | past → salient narrative time |
| bound | "his" in ∀x...his... | tense in "whenever...is..." |
@cite{elbourne-2013} collapses this to a two-way free/bound distinction
(SitVarStatus); isFree provides the coarsening.
- indexical : ReferentialMode
Anchored to utterance context (Kaplan's "I", Partee's deictic tense)
- anaphoric : ReferentialMode
Resolved by discourse salience (3rd-person "he", narrative past)
- bound : ReferentialMode
Bound by a c-commanding operator (∀x...his..., whenever...is...)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Core.ReferentialMode.instBEqReferentialMode.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Coarsen to a two-way free/bound classification. Indexical and anaphoric are both "free" — they differ only in how the free variable is pragmatically resolved (utterance context vs. discourse salience).
Equations
Instances For
@cite{elbourne-2013}'s two-way classification of situation variables.
Coarsens ReferentialMode's three-way distinction: indexical and
anaphoric both map to free.
- free : SitVarStatus
Free: mapped to a contextually salient situation (→ de re)
- bound : SitVarStatus
Bound: bound by an intensional operator (→ de dicto)
Instances For
Equations
- Core.SitVarStatus.instBEqSitVarStatus.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Expand Elbourne's two-way classification to Partee's three-way. Free situation variables correspond to either indexical or anaphoric interpretation; bound corresponds to bound.
Equations
Instances For
Collapse Partee's three-way classification to Elbourne's two-way.
Uses ReferentialMode.isFree for the coarsening.
Equations
Instances For
Round-trip: collapsing then expanding recovers the original status (as a member of the expanded list).
Generic variable assignment: maps indices to values in domain D.
Instantiate with D = Entity for pronoun interpretation (@cite{heim-kratzer-1998})
or D = Time for temporal variable interpretation.
Equations
- Core.VarAssignment.VarAssignment D = (ℕ → D)
Instances For
Modified assignment g[n ↦ d]: update index n to value d.
Instances For
Lambda abstraction over variable n: bind a variable in body.
Equations
- Core.VarAssignment.varLambdaAbs n body g d = body (Core.VarAssignment.updateVar g n d)